Iterar por meio de conjunto em Java
-
Iterar sobre
Set/HashSet
em Java usando o loopfor
aprimorado -
Iterate a
Vector
Using Enumeration in Java -
Iterar sobre
Set/HashSet
em Java convertendo-o em um array -
Iterar sobre
Set/HashSet
em Java usando o métodostream()
da classeArray
Este artigo irá introduzir como iterar através de Set
ou HashSet
em Java sem utilizar o Iterator. Um iterador é utilizado para devolver os elementos em ordem aleatória. Esta tarefa pode ser realizada utilizando vários métodos para além de um iterador.
Iterar sobre Set/HashSet
em Java usando o loop for
aprimorado
O laço for-each
em Java também é chamado de laço melhorado for
. É utilizado para iterar através de elementos de arrays e colecções em Java.
Aqui criámos um Set
chamado mySet
, utilizando a classe HashSet
, uma colecção de elementos de strings. Ao chamar o método add()
em mySet
, adicionámos elementos ao mySet
.
Utilizando o laço melhorado for
, podemos iterar sobre cada elemento dentro da colecção e imprimi-lo, como mostrado no código. Para cada elemento do tipo s
do tipo String
no mySet
, podemos iterar sobre ele. Note-se que os elementos iteram numa colecção não ordenada.
import java.util.HashSet;
import java.util.Set;
public class IterateOverHashSet {
public static void main(String[] args) {
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
for (String s : mySet) {
System.out.println("s is : " + s);
}
}
}
Resultado:
s is : Mango
s is : Apple
s is : Banana
Iterate a Vector
Using Enumeration in Java
O Vector
implementa a interface Lista
, que nos ajuda a criar arrays redimensionáveis semelhantes à classe ArrayLista
. Em primeiro lugar, criámos um Set
de elementos do tipo string utilizando a classe HashSet
, mais tarde adicionámos-lhe elementos utilizando o método add()
.
O myset
é então passado ao construtor da classe Vector
, e depois o método elementos()
é chamado a enumerar através dos elementos da classe Vector
.
Em seguida, utilizamos um laço while
para imprimir até que a Enumeration
(e
) tenha mais elementos. Chamadas consecutivas ao método nextElements()
devolvem elementos sucessivos da série.
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;
import java.util.Vector;
public class IterateOverHashSet {
public static void main(String[] args) {
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
Enumeration e = new Vector(mySet).elements();
while (e.hasMoreElements()) {
System.out.println(e.nextElement());
}
}
}
Resultado:
Mango
Apple
Banana
Iterar sobre Set/HashSet
em Java convertendo-o em um array
Primeiro criamos um Set
dos elementos do tipo String
e adicionamos itens ao mySet
. Para iterar sobre os elementos, convertemos o nosso mySet
para um array utilizando o método toArray()
. O método toArray()
devolve um array que tem os mesmos elementos que no HashSet
.
Depois, utilizando um laço for
, podemos fazer um laço sobre todos os elementos do novo array chamado myArray
. Imprimir cada elemento, como se mostra no código abaixo.
import java.util.HashSet;
import java.util.Set;
public class IterateOverHashSet {
public static void main(String[] args) {
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
String[] myArray = mySet.toArray(new String[mySet.size()]);
for (int index = 0; index < myArray.length; index++) {
System.out.println("element : " + myArray[index]);
}
}
}
Resultado:
element : Mango
element : Apple
element : Banana
Iterar sobre Set/HashSet
em Java usando o método stream()
da classe Array
No código mostrado abaixo, criamos primeiro um Set
de elementos do tipo String
utilizando a classe HashSet
em Java. Em seguida, adicionamos-lhe elementos chamando o método add()
à sua instância fruits
.
O método stream()
devolve um fluxo sequencial de colecção. Convertemos o nosso Set
de String
- fruits
, num stream
. Mais tarde exibimos os elementos do stream
utilizando uma expressão lambda
.
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
public class Simple {
public static void main(String args[]) {
Set<String> fruits = new HashSet<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Mango");
Stream<String> stream = fruits.stream();
stream.forEach((fruit) -> System.out.println(fruit));
}
}
Resultado:
Apple
Mango
Banana
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn