Diferença entre mover um Iterator para frente com uma instrução for e uma instrução while
Quando uso um Iterador de Objeto, uso umenquanto loop (conforme escrito em todos os livros que aprendem Java, comoPensando em Java de Bruce Eckel):
Iterator it=...
while(it.hasNext()){
//...
}
mas em algum momento eu vi do que alguém usar opara laço:
Iterator it=...
for (Iterator it=...; it.hasNext();){
//...
}
Não entendo essa escolha:
Eu uso opara laço quando eu tenho uma coleção com sequência ordinal (como matriz) ou com uma regra especial para a etapa (declarada geralmente como um incremento simplescounter++
)Eu uso oenquanto loop quando o loop termina, não tenho essas restrições, mas apenas uma condição lógica para a saída.É uma questão de codificação de estilos sem outra causa ou existe alguma outra lógica (desempenho, por exemplo) que eu não conheço?
Obrigado por todos os comentários