Iterador Java
Iterador Java
An Iterator
é um objeto que pode ser usado para percorrer coleções, como ArrayList
e HashSet . É chamado de "iterador" porque "iterar" é o termo técnico para looping.
Para usar um Iterator, você deve importá-lo do java.util
pacote.
Obtendo um Iterador
O iterator()
método pode ser usado para obter um Iterator
para qualquer coleção:
Exemplo
// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// Make a collection
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// Get the iterator
Iterator<String> it = cars.iterator();
// Print the first item
System.out.println(it.next());
}
}
Percorrendo uma coleção
Para percorrer uma coleção, use os métodos hasNext()
e do :next()
Iterator
Exemplo
while(it.hasNext()) {
System.out.println(it.next());
}
Removendo itens de uma coleção
Os iteradores são projetados para alterar facilmente as coleções que percorrem. O remove()
método pode remover itens de uma coleção durante o loop.
Exemplo
Use um iterador para remover números menores que 10 de uma coleção:
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(12);
numbers.add(8);
numbers.add(2);
numbers.add(23);
Iterator<Integer> it = numbers.iterator();
while(it.hasNext()) {
Integer i = it.next();
if(i < 10) {
it.remove();
}
}
System.out.println(numbers);
}
}
Nota: Tentar remover itens usando um loop for ou um loop for-each não funcionaria corretamente porque a coleção está mudando de tamanho ao mesmo tempo em que o código está tentando fazer um loop.