Différence entre Iterator et ListIterator en java

Iterator est utilisé pour parcourir une collection en Java. Vous pouvez utiliser Iterator pour parcourir une List, Set, Map ou n’importe quelle collection, mais vous ne savez peut-être pas qu’il existe un autre moyen pour parcourir une liste en Java? ListIterator. Il existe de nombreuses différences entre Iterator et ListIterator en Java, mais la différence clé entre les deux est la suivante: Iterator ne vous permet de parcourir que dans un sens, avec la méthode next() vous pourrez récupérer l’élément suivant, il n’existe pas la méthode previous() pour obtenir l’élément précédent. Tandis que, ListIterator vous permet de parcourir la liste dans les deux sens, c’est-à-dire en avant et en arrière. Il dispose des méthodes next() et previous() pour accéder aux éléments suivant et précédent de List.
 
 

Table de comparaison
IteratorListIterator
OpérationsLa possibilitéde de supprimer des élémentsLa possibilitéde de supprimer, ajouter et remplacer des éléments
Méthodesremove()remove(), add() et set()
UtilisationLa méthode iterator() est disponible pour toutes les collections. Autrement dit, Iterator peut être utilisé pour toutes les classes de collection.La méthode listIterator() est disponible pour les collections qui implémentent l’interface List. Autrement dit, les descendants de l’interface List uniquement peuvent utiliser ListIterator
Différence entre List, Set et Map en javaDifférence entre List, Set et Map en javaList et Set sont des interfaces qui héritent l’interface Collection. Ici, nous allons discuter de la différence entre List, Set et Map en Java.  …Lire plus  

Iterator

À l’aide de Iterator, nous ne pouvons itérer qu’en avant et vous ne pouvez pas ajouter des éléments en itérant. Ici, le curseur pointe toujours sur un index spécifique.

import java.util.ArrayList;
import java.util.Iterator;

public class ExampleIterator {
  public static void main(String args[]) {
    ArrayList<String> arraylist = new ArrayList<String>();

    arraylist.add("Item1");
    arraylist.add("Item2");
    arraylist.add("Item3");
    arraylist.add("Item4");

    Iterator<String> itr = arraylist.iterator();
    while (itr.hasNext()) {
      String str = itr.next();
      System.out.print(str + " ");
    }
  }
}

La sortie

Item1 Item2 Item3 Item4
Différence entre ArrayList et HashMap en JavaDifférence entre ArrayList et HashMap en JavaArrayList et HashMap sont des classes de collection couramment utilisées en Java. Bien que les deux fassent partie du framework collection, la manière dont ils…Lire plus  

ListIterator

Permet au programmeur de parcourir la liste dans un sens ou l’autre, de modifier la liste pendant l’itération et d’obtenir la position actuelle de l’itérateur dans la liste.

import java.util.ArrayList;
import java.util.ListIterator;

public class ExampleListIterator {

  public static void main(String[] args) {
    //Créer une ArrayList
    ArrayList arraylist = new ArrayList();

    //Ajouter des éléments à l'objet ArrayList
    arraylist.add("Item1");
    arraylist.add("Item2");
    arraylist.add("Item3");
    arraylist.add("Item4");
    
    //Récupérer l'objet de ListIterator avec la méthode listIterator()
    ListIterator listIterator = arraylist.listIterator();

    System.out.println("En avant");
    while(listIterator.hasNext())
      System.out.println(listIterator.next());

    System.out.println("En arrière");
    while(listIterator.hasPrevious())
      System.out.println(listIterator.previous());

  }
}

La sortie

En avant
Item1
Item2
Item3
Item4
En arrière
Item4
Item3
Item2
Item1

 

Les méthodes de l’interface Iterator:
  • hasNext()
  • next()
  • remove()
Les méthodes de l’interface ListIterator:
  • add(E e)
  • next()
  • nextIndex()
  • previous()
  • previousIndex()
  • hasNext()
  • hasPrevious()
  • set(E e)
QCM-JavaQCM Java – Programmation Orientée ObjetQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Conclusion

L’avantage d’utiliser Iterator est que votre code fonctionnera même si vous passez List ou Set en paramétre, car vous travaillerez avec une collection. Pourtant, lorsque vous utilisez ListIterator, votre code ne fonctionnera qu’avec List.
 
 

Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *