Qual é a diferença entre Iterator e ListIterator

Índice:

Anonim

o principal diferença entre Iterator e ListIterator é que Iterator pode atravessar os elementos na coleção apenas na direção para frente, enquanto ListIterator pode atravessar os elementos na coleção nas direções para frente e para trás.

Iterator e ListIterator são duas interfaces em Java. Iterator é usado com listas, conjuntos e mapas. Por outro lado, ListIterator é usado apenas com Lists. No ListIterator, é possível percorrer os itens da coleção nas direções para frente e para trás. Ao contrário, o Iterador só pode percorrer os itens na coleção na direção para frente.

Coleção, Interface, Iterator, ListIterator

O que é Iterator

Iterator é uma interface na estrutura da coleção. Permite percorrer cada elemento de uma coleção um após o outro. Ajuda a percorrer listas, conjuntos e mapas. No entanto, só é possível avançar usando o Repetidor. Um exemplo de programa é o seguinte.

Figura 01: Programa Java com Iterator

No programa acima, existe uma ArrayList chamada cores. O método add ajuda a inserir itens na coleção. O iterador () retorna o iterador para o início da coleção. O loop while chama o método hasNext () toda vez que o loop é iterado. Se houver um próximo elemento disponível na coleção, este método retorna verdadeiro. No entanto, ele retorna falso se todos os elementos já foram percorridos. Dentro do loop, o método next () ajuda a obter cada elemento da Coleção. Ele retorna o próximo elemento da coleção. O System.out.println exibe o elemento no console.

O que é ListIterator

ListIterator é uma interface no framework Collection que permite percorrer os elementos presentes em uma coleção, um após o outro. Ele só pode percorrer os itens de uma Lista. Além disso, é possível atravessar os elementos nas direções para frente e para trás. Consulte o programa abaixo.

Figura 02: programa Java com ListIterator

No programa acima, existe uma lista de matrizes chamada cores. O método add ajuda a inserir elementos na coleção. O listIterator () retorna o iterador para o início da coleção. O primeiro loop while chama o método hasNext () em cada iteração. Dentro do loop, o método next () é usado para retornar o próximo elemento da coleção. O System.out.println exibe o elemento no console. Portanto, todos os elementos são exibidos no console na direção para frente.

O próximo loop while chama o método hasPrevious () cada vez que o loop itera. Ele retorna verdadeiro se os elementos estiverem disponíveis. Caso contrário, retorna falso. Esse deslocamento ocorre em uma direção para trás. Dentro do loop, o método previous () ajuda a obter cada elemento da coleção. Ele retorna o elemento anterior da coleção. O System.out.println exibe o elemento no console.

Diferença entre Iterator e ListIterator

Definição

Iterator é uma interface na estrutura de coleção do Java para percorrer a lista na direção para frente. Em contraste, ListIterator é uma interface no framework Collection do Java para percorrer uma lista em qualquer direção, modificar a lista durante a iteração e obter a posição atual na lista. Portanto, esta é a principal diferença entre Iterator e ListIterator.

Atravessar

Uma diferença importante entre Iterator e ListIterator é que Iterator pode percorrer listas, conjuntos e mapas, enquanto ListIterator só pode percorrer listas.

Traversing Direction

Índice

Além disso, outra diferença entre Iterator e ListIterator é que não há nenhum método em Iterator para obter um índice do elemento. No entanto, é possível obter o índice do elemento usando ListIterator.

Adicionar Elementos

Embora o Iterator não possa adicionar elementos à coleção, ListIterator pode adicionar elementos à coleção usando add (E e). Portanto, esta é outra diferença entre Iterator e ListIterator.

Modificar

Além disso, uma outra diferença entre Iterator e ListIterator é que Iterator não pode modificar os elementos da coleção. enquanto ListIterator pode modificar os elementos na coleção usando set (E e).

Métodos Comuns

hasNext (), next (), remove () são alguns métodos comuns de Iterator enquanto hasNext (), next (), hasPrevious (), previous (), remove, add (E e), previousIndex (), set (E e) são alguns métodos comuns de ListIterator.

Conclusão

Há uma diferença distinta entre Iterator e ListIterator, embora algumas pessoas usem esses termos alternadamente. A principal diferença entre Iterator e ListIterator é que Iterator pode percorrer os elementos na coleção apenas na direção para frente, enquanto ListIterator pode percorrer os elementos na coleção nas direções para frente e para trás.

Referência:

1. Singh, Chaitanya. “Java Iterator com exemplos.” Beginnersbook.com, 15 de junho de 2014, disponível aqui.2. Singh, Chaitanya e Umesh. “ListIterator em Java com exemplos.” Beginnersbook.com, 15 de junho de 2014, disponível aqui.3. ListIterator (Java Platform SE 7), 6 de outubro de 2018, disponível aqui.

Qual é a diferença entre Iterator e ListIterator