Dificuldades de mexer com Iterator - Por favor comente meu código, o que o while está fazendo?

[code]private void listaDeAlunosDeIngles() {
List alunos = new ArrayList();
alunos.add(“Mônica”);
alunos.add(“Júlia”);
alunos.add(“Maria”);
alunos.add(“Joana”);

for (Iterator it = alunos.iterator(); it.hasNext():wink: {
while (it.hasNext()){
System.out.println(it.next());
}
}

public static void main(String[] args) {
new UsandoIterator().listaDeAlunosDeIngles();
}
}[/code]

Dificuldades de mexer com Iterator - Por favor comente meu código, o que o while está fazendo?

Que bagunça é essa? Há dois loops no seu código, e não vai fazer exatamente o que você quer.
Você precisa de um loop só.
Para percorrer os elementos da lista, você poderia usar:

for (Iterator<String> it = alunos.iterator(); it.hasNext(); ) {
    String aluno = it.next();
    System.out.println (aluno);
}

ou o código equivalente (você vai ver que o for acima é exatamente igual ao seguinte while, exceto pelo escopo da variável it):

Iterator<String> it = alunos.iterator(); 
while (it.hasNext()) {
    String aluno = it.next();
    System.out.println (aluno);
}