Colecoes
Iterator
Conceito
Java Collections - Interator
Um Iterator
é um objeto que pode ser usado para percorrer coleções, como ArrayList e HashSet. É chamado de "iterador" porque "iterativo" é o termo técnico para loop.
Não é muito comum mas vamos imaginar que você queira pegar o primeiro elemento de um Set
ou até mesmo adicionar ou remover elementos dentro de um loop? Bem o que posso te dizer é que comportamentos inesperados podem acontecer.
Iteracao.java
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
public class Iteracao {
public static void main(String[] args) {
Set<String> alunos = new LinkedHashSet<>();
alunos.add("marcos");
alunos.add("julia");
alunos.add("felipe");
alunos.add("lucas");
alunos.add("rafaela");
//String aluno = alunos.get(0); //ops, não sou uma lista
Iterator<String> iterator = alunos.iterator();
String aluno = iterator.next();
System.out.println(aluno);
while (iterator.hasNext()) { // ainda temos mais alunos ??
aluno = iterator.next();
if(aluno.equals("rafaela")){
//como é possível ??
alunos.add("joana");
}
System.out.println(aluno);
}
System.out.println(alunos.size());
System.out.println(alunos);
}
}