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

Itérateur de liste Java

WBOY
Libérer: 2024-08-30 15:09:36
original
1100 Les gens l'ont consulté

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();
Copier après la connexion

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");
Copier après la connexion

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.
Copier après la connexion

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());
}
}
}
Copier après la connexion

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());
}
}
}
Copier après la connexion
Copier après la connexion

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());
}
}
}
Copier après la connexion
Copier après la connexion

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());
}
}
}
Copier après la connexion
Copier après la connexion

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());
}
}
Copier après la connexion

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());
}
}
}
Copier après la connexion
Copier après la connexion

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());
} }
Copier après la connexion

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);
}
}
Copier après la connexion

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);
}
}
Copier après la connexion

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!

Étiquettes associées:
source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal