Em Java, um Iterador é um dos cursores Java. Iterador Java é uma interface praticada para iterar sobre uma coleção inteira de componentes de objetos Java, um por um. Seu uso é gratuito na linguagem de programação Java desde a estrutura Java 1.2 Collection. Pertence ao pacote java.util.
Embora o Java Iterator tenha sido introduzido no Java 1.2, ele ainda não é a ferramenta mais antiga disponível para percorrer os elementos do objeto Collection. O Iterador mais antigo na linguagem de programação Java é o Iterador anterior ao Enumerador. A interface Java Iterator sucede ao iterador enumerador que foi praticado no início para percorrer algumas coleções acessíveis como ArrayLists.
O Iterador Java também é conhecido como cursor universal de Java, pois é apropriado para todas as classes da estrutura Collection. O Java Iterator também auxilia em operações como READ e REMOVE. Quando comparamos a interface do Java Iterator com a interface do iterador de enumeração, podemos dizer que os nomes dos métodos disponíveis no Java Iterator são mais precisos e simples de usar.
Vantagens do Iterador Java
O iterador em Java tornou-se muito comum devido às suas inúmeras vantagens. As vantagens do Java Iterator são apresentadas a seguir -
- O usuário pode aplicar esses iteradores a qualquer uma das classes da estrutura Collection.
- No Java Iterator, podemos usar as operações de leitura e remoção.
- Se um usuário estiver trabalhando com um loop for, ele não poderá modernizar (adicionar/remover) a Coleção, enquanto, se usar o Iterador Java, poderá simplesmente atualizar a Coleção.
- O Java Iterator é considerado o Cursor Universal para a API Collection.
- Os nomes dos métodos no Java Iterator são muito fáceis e simples de usar.
Desvantagens do Iterador Java
Apesar das inúmeras vantagens, o Java Iterator também apresenta várias desvantagens. As desvantagens do Java Iterator são fornecidas abaixo -
- O Java Iterator preserva apenas a iteração na direção direta. Em palavras simples, o Java Iterator é um Iterador unidirecional.
- A substituição e extensão de um novo componente não são aprovadas pelo Java Iterator.
- Nas operações CRUD, o Java Iterator não contém várias operações como CREATE e UPDATE.
- Em comparação com o Spliterator, o Java Iterator não suporta a passagem de elementos no padrão paralelo, o que implica que o Java Iterator suporta apenas a iteração sequencial.
- Em comparação com o Spliterator, o Java Iterator não oferece suporte a uma execução mais confiável para percorrer o grande volume de dados.
Como usar o Iterador Java?
Quando um usuário precisa usar o Java Iterator, é obrigatório que ele crie uma instância da interface do Iterator a partir da coleção de objetos que deseja percorrer. Depois disso, o Iterador recebido mantém o rastro dos componentes da coleção subjacente para garantir que o usuário percorrerá cada um dos elementos da coleção de objetos.
Se o usuário modificar a coleção subjacente enquanto percorre um Iterador que leva a essa coleção, o Iterador normalmente reconhecerá isso e lançará uma exceção na próxima vez em que o usuário tentar obter o próximo componente do Iterador.
Métodos Iteradores Java
A figura a seguir exibe perfeitamente o diagrama de classes da interface Java Iterator. Ele contém um total de quatro métodos que são:
- temPróximo()
- próximo()
- remover()
- forEachRemaining()
O forEachRemaining() O método foi adicionado no Java 8. Vamos discutir cada método em detalhes.
Se não houver mais elementos na iteração, não há necessidade de chamar o método next(). Em palavras simples, podemos dizer que o método é usado para determinar se o método next() deve ser chamado ou não.
Exemplo de Iterador Java
Agora é hora de executar um programa Java para ilustrar a vantagem da interface Java Iterator. O código abaixo produz um ArrayList de nomes de cidades. Em seguida, inicializamos um iterador aplicando o método iterator() do ArrayList. Depois disso, a lista é percorrida para representar cada elemento.
JavaIteratorExample.java
import java.io.*; import java.util.*; public class JavaIteratorExample { public static void main(String[] args) { ArrayList cityNames = new ArrayList(); cityNames.add('Delhi'); cityNames.add('Mumbai'); cityNames.add('Kolkata'); cityNames.add('Chandigarh'); cityNames.add('Noida'); // Iterator to iterate the cityNames Iterator iterator = cityNames.iterator(); System.out.println('CityNames elements : '); while (iterator.hasNext()) System.out.print(iterator.next() + ' '); System.out.println(); } }
Saída:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Pontos para lembrar
- O Java Iterator é uma interface adicionada na linguagem de programação Java na estrutura Java 1.2 Collection. Pertence ao pacote java.util.
- É um dos Cursores Java praticados para percorrer os objetos da estrutura de coleção.
- O Java Iterator é usado para iterar os componentes do objeto de coleção um por um.
- O Java Iterator também é conhecido como cursor universal de Java, pois é apropriado para todas as classes da estrutura Collection.
- O Java Iterator também oferece suporte a operações como READ e REMOVE.
- Os nomes dos métodos da classe Iterator são muito simples e fáceis de usar em comparação com os nomes dos métodos do Enumeration Iterator.