1. Direção transversal: o ListIterator permite que os programadores iterem os objetos de lista em ambas as direções, ou seja, para frente e para trás, usando o método anterior () e seguinte ().
o iterador pode ser usado para iterar a lista, mapear e definir o objeto em uma direção, ou seja, avançar.
2. Definir e mapear objetos implementados Traversal: o ListIterator pode ser usado apenas para atravessar o objeto List . Mas o iterador pode ser usado para percorrer o mapa, listar e definir objetos implementados.
por exemplo,
// ListIterator objeto é criado.
ListIterator listIteratorObject = Lista.o objeto listIterator ();// Iterator é createdIterator iteratorObject = List.iterador();
3. Adicionar ou definir operação em qualquer índice: de acordo com o ListIterator Oracle docs,
o ListIterator pode modificar a lista durante a iteração usando add(e e) , remove() ou set(E e).
o iterador não pode adicionar o elemento durante a travessia, mas pode remover o elemento da coleção subjacente durante a iteração, pois consiste apenas no método remove (). Não há add(e e) E set(E e) método no iterador.
4. Determine a posição atual do iterador: o ListIterator pode obter a posição atual do iterador na lista.A posição atual do iterador durante a travessia não pode ser determinada usando o iterador.
5. Recuperar índice do elemento: o ListIterator pode obter o índice dos elementos usando métodos previousIndex(e e) ou nextIndex(e e).Não podemos obter o índice usando o iterador, pois não há tais métodos presentes.
exemplo de iterador e ListIterator
importar java.util.Iterador;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main(String args) {
Lista listObject = new ArrayList();listObject.add("Alive is awesome"); listObject.add("Love yourself");ListIterator listIteratorObject = listObject.listIterator();System.out.println("ListIterator object output in forward direction:");System.out.println("");while( listIteratorObject.hasNext() ) { System.out.println(listIteratorObject.next()); }System.out.println("ListIterator object output in backward direction:");System.out.println("");while( listIteratorObject.hasPrevious() ) { System.out.println(listIteratorObject.previous()); } List iteratorListObject = new ArrayList(); iteratorListObject.add("Facebook"); iteratorListObject.add("Google"); iteratorListObject.add("Apple"); Iterator javaHungryIterator = iteratorListObject.iterator();System.out.println("Iterator object output in forward direction:");while( javaHungryIterator.hasNext() ) { System.out.println(javaHungryIterator.next()); }}}
Saída :
ListIterator objeto de saída na direção de avanço:
Vivo é awesomeLove-se
ListIterator objeto de saída no sentido de frente para trás:o Amor yourselfAlive é incrívelIterador objeto de saída na direção de avanço:FacebookGoogleAppleSemelhanças entre Iterador e ListIterator em Java
1. Interfaces: iterador e ListIterator são interfaces . O ListIterator estende a interface do iterador.
2. Quadro De Recolha : Tanto o Iterator quanto o ListIterator são membros da estrutura de coleção Java.
3. Traversal: ambos são usados para iterar sobre a coleção de objetos .
4. Interfaces adicionadas ao jdk: ambas as interfaces são adicionadas ao jdk em java 1.2
recapitulação : Diferença entre Iterador e ListIterator em Java com o Exemplo
ListIterator | Iterador | |
---|---|---|
Transversal a Direção | Ambos , para frente e para trás | Encaminhar |
Objetos transversal | Lista de apenas | Map, Set e List |
Adicionar e Definir as operações de | Permite que ambas as operações | Não é possível |
Iteração atual posição | Sim , pode ser determinado | Não é possível. |
Obter Índice | Sim | Não é possível |