Maison  >  Article  >  Java  >  Itérateur de liste Java

Itérateur de liste Java

WBOY
WBOYoriginal
2024-08-30 15:09:361066parcourir

En Java, ListIterator est un itérateur bidirectionnel qui permet d'itérer les éléments d'une liste un par un. Il est disponible à partir de la version Java 1.2 et étend l'interface Iterator. Contrairement à l'itérateur normal, ListIterator prend en charge les opérations CRUD, les itérations avant et arrière. De plus, comme la position du curseur se situe entre les éléments qui seront renvoyés lors de l'appel de previous() et l'élément qui sera renvoyé lors de l'appel de next(), listiterator n'a pas d'élément actuel.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe

Vous trouverez ci-dessous la syntaxe de Java ListIterator.

ListIterator<T> li = list.listIterator();

Comment fonctionne la classe ListIterator en Java ?

Comme déjà évoqué, Java ListIterator est un itérateur bidirectionnel qui se déplace vers l'avant et vers l'arrière. Pour prendre en charge cette fonctionnalité, deux ensembles de méthodes sont disponibles.

  • Méthodes Forward Direction telles que hasNext(), next(), nextIndex()
  • Méthodes de direction arrière telles que hasPrevious(), previous(), previousIndex()

Ces méthodes seront discutées en détail dans la section suivante.

Voyons comment fonctionne ListIterator.

1. Créez une liste de noms

List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Elsa");
nm.add("Anna");
nm.add("payal");

2. Créer un objet ListIterator

//get list iterator
ListIterator<String> li =nm.listIterator(); In the beginning, the Cursor of ListIterator will be pointed before the first element in the List. On calling the methods li.hasNext() and li.next() in a while loop, the cursor will be moved to the last element in the list. In order to start traversing from last, li.hasPrevious( ) and li.previous() methods will be called. On reaching the first element and again calling the same method will return a false value.

Méthodes de Java Listiterator

Voici les différentes méthodes utilisées dans Java ListIterator.

1. ajouter(E orme)

L'élément orme sera inséré dans la liste. Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
//add the elements to the list
nm.add("Ram");
nm.add("Jaanu");
nm.add("Elsa");
nm.add("Anna");
nm.add("payal");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Sortie :

Itérateur de liste Java

2. hasNext()

True sera renvoyé si l'itérateur a les éléments suivants pendant le parcours dans le sens avant.

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
//iterates if next element is present in forward direction
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Sortie :

Itérateur de liste Java

3. hasPrécédent()

True sera renvoyé si l'itérateur a les éléments suivants pendant le parcours dans le sens inverse.

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("Traversal in forward direction::");
while(li.hasNext()){
System.out.println(li.next());
}
System.out.println("\nTraversal in backward direction:");
while(li.hasPrevious()){
System.out.println(li.previous());
}
}
}

Sortie :

Itérateur de liste Java

4. suivant()

L'élément suivant sera renvoyé et la position du curseur sera avancée.

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
//iterates if next element is present in forward direction
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Sortie :

Itérateur de liste Java

5. prochainIndex()

L'index sera renvoyé pour l'élément qui sera renvoyé lors de l'appel de next().

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Khan");
nm.add("Alia");
nm.add("Jhanvi");
//get list iterator
li=nm.listIterator();
System.out.println("The index of first element : " + li.nextIndex());
li.next();
System.out.println("The index of second element :  " + li.nextIndex());
li.next();
System.out.println("The index of third element : " + li.nextIndex());
li.next();
System.out.println("The index of fourth element : " + li.nextIndex());
li.next();
System.out.println("The index of fifth element : " + li.nextIndex());
}
}

Sortie :

Itérateur de liste Java

6. précédent()

L'élément précédent sera renvoyé et la position du curseur sera déplacée vers l'arrière.

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("Traversal in forward direction::");
while(li.hasNext()){
System.out.println(li.next());
}
System.out.println("\nTraversal in backward direction:");
while(li.hasPrevious()){
System.out.println(li.previous());
}
}
}

Sortie :

Itérateur de liste Java

7. précédentIndex()

L'index sera renvoyé pour l'élément qui sera renvoyé lors de l'appel de previous().

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Khan");
nm.add("Alia");
nm.add("Jhanvi");
//get list iterator
li=nm.listIterator();
System.out.println("The index of first element : " + li.previousIndex());
li.next();
System.out.println("The index of second element :  " + li.previousIndex());
li.next();
System.out.println("The index of third element : " + li.previousIndex());
li.next();
System.out.println("The index of fourth element : " + li.previousIndex());
li.next();
System.out.println("The index of fifth element : " + li.previousIndex());
} }

Sortie :

Itérateur de liste Java

8. supprimer()

Le dernier élément renvoyé lors de l'appel de next() ou previous() sera supprimé.

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Kavya");
nm.add("Dileep");
nm.add("Sam");
nm.add("Anna");
//get list iterator
li=nm.listIterator();
System.out.println("List is : " + nm);
li.next();
li.next();
li.remove();
System.out.println("After calling remove() method : " + nm);
}
}

Sortie :

Itérateur de liste Java

9. ensemble(E e)

Remplace le dernier élément renvoyé par next() ou previous() par l'élément spécifié (opération facultative).

Code :

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Kavya");
nm.add("Dileep");
nm.add("Sam");
nm.add("Anna");
//get list iterator
li=nm.listIterator();
System.out.println("List is : " + nm);
li.next();
li.next();
li.set("Anjali");
System.out.println("After calling set() method : " + nm);
}
}

Sortie :

Itérateur de liste Java

Conclusion

ListIterator est un itérateur bidirectionnel en Java qui itère les éléments d'une liste un par un. Les opérations CRUD sont prises en charge dans ListIterator, contrairement à l'itérateur normal. Dans cet article, différents aspects de ListIterator sont abordés en détail.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:JSP UsebeanArticle suivant:JSP Usebean