Vídeo: 41 - Certificação Java (ArrayList Iterator e foreach) 2024
Um iterador de Java cuspa os valores de uma coleção, um após o outro. Para obter um valor da coleção, você chama o
próximo
iterator do iterador. Para descobrir se a coleção possui mais valores nele, você chama o método
hasNext
do iterador. O código abaixo usa um iterador para exibir os nomes das pessoas.
Aqui está algum código para iterar através de uma coleção.
importar java estável. lang. Sistema. Fora;
importar java. util. Iterator;
importar java. util. Scanner;
importar java. io. Arquivo;
importar java. io. IOException;
importar java. util. ArrayList;
classe pública ShowNames {
public static void main (String args []) lança IOException {
ArrayList
Scanner diskScanner = novo Scanner (novo arquivo ("names. Txt"));
enquanto (diskScanner. HasNext ()) {
pessoas. adicionar (diskScanner. nextLine ());
}
pessoas. remover (0);
pessoas. adicionar (2, "Jim Newton");
Iterator iterator = pessoas. iterador ();
enquanto (iterator. HasNext ()) {
fora. println (iterator. next ());
}
diskScanner. fechar();
}
}
Você pode substituir o
aprimorado por
pelo código em negrito acima. Quando você faz, você obtém o mesmo resultado que antes, a primeira linha de código em negrito cria um iterador da coleção
pessoas
. A segunda e a terceira linhas chamam os métodos
hasNext
e
próximo
do iterador para pegar todos os objetos armazenados na coleção
pessoas
- uma para cada iteração do loop. Essas linhas exibem cada um dos valores da coleção
pessoas
.
Qual é melhor? Um loop avançado
para
ou um iterador? Os programadores Java preferem o loop avançado
para
porque o loop
para
envolve menos bagagem - nenhum objeto
iterador
para transportar de uma linha de código para a próxima. Mas, o recurso mais avançado para a programação pode ser atualizado, simplificado, ajustado e reconstituído de outra forma. Não há fim para a maneira como você pode melhorar o seu código.