Para percorrermos um HashSet, utilizamos comando for na forma foreach, método forEach
ou comando while em conjunto com os métodos do iterador do hashSet.
Sintaxe
for( tipo_dado : nome_hashset){/**/}
public void forEach(BiConsumer<? super E> action)
Onde
E: tipo de dado do hashSet
action: expressão lambda
Exemplo 6
//Main.java
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<String> hset = new HashSet<String>();
hset.add("Uma");
hset.add("HashSet");
hset.add("com");
hset.add("strings?");
for(String str: hset)
System.out.println(str);
}
}
Saída
com
strings?
Uma
HashSet
Para melhor compreensão do exemplo abaixo, é necessário ter conhecimento sobre expressão lambda
utilizada em conjunto com o método forEach.
Exemplo 7
//Main.java
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<String> hset = new HashSet<String>();
hset.add("Uma");
hset.add("HashSet");
hset.add("com");
hset.add("strings?");
hset.forEach((str) -> {
System.out.println(str);
});
}
}
Saída
com
strings?
Uma
HashSet
Abaixo, um exemplo de iteração utilizando o comando while e métodos hasNext e
next de um iterador do hashSet.
Exemplo 8
//Main.java
import java.util.HashSet;
import java.util.Iterator;
public class Main
{
public static void main(String[] args) {
HashSet<String> hset = new HashSet<String>();
hset.add("Uma");
hset.add("HashSet");
hset.add("com");
hset.add("strings?");
Iterator i = hset.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
Saída
com
strings?
Uma
HashSet