Interface Java ListIterator
Interface Java ListIterator
Dans ce didacticiel, nous allons découvrir l'interface Java ListIterator à l'aide d'un exemple.
Le ListIterator
L'interface du framework de collections Java fournit la fonctionnalité permettant d'accéder aux éléments d'une liste.
Il est bidirectionnel. Cela signifie qu'il nous permet d'itérer les éléments d'une liste dans les deux sens.
Il étend le Iterator
interface.
Le List
l'interface fournit un listIterator()
méthode qui renvoie une instance du ListIterator
interface.
Méthodes de ListIterator
Le ListIterator
fournit des méthodes qui peuvent être utilisées pour effectuer diverses opérations sur les éléments d'une liste.
hasNext()
- renvoie vrai s'il existe un élément dans la listenext()
- renvoie l'élément suivant de la listenextIndex()
retourne l'indice de l'élément que lenext()
méthode renverraprevious()
- renvoie l'élément précédent de la listepreviousIndex()
- retourne l'index de l'élément que leprevious()
méthode renverraremove()
- supprime l'élément renvoyé soit parnext()
ouprevious()
set()
- remplace l'élément renvoyé soit parnext()
ouprevious()
avec l'élément spécifié
Exemple 1 :Implémentation de ListIterator
Dans l'exemple ci-dessous, nous avons implémenté le next()
, nextIndex()
et hasNext()
méthodes du ListIterator
interface dans une liste de tableaux.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> iterate = numbers.listIterator();
// Using the next() method
int number1 = iterate.next();
System.out.println("Next Element: " + number1);
// Using the nextIndex()
int index1 = iterate.nextIndex();
System.out.println("Position of Next Element: " + index1);
// Using the hasNext() method
System.out.println("Is there any next element? " + iterate.hasNext());
}
}
Sortie
ArrayList: [1, 3, 2] Next Element: 1 Position of Next Element: 1 Is there any next element? true
Exemple 2 :Implémentation de ListIterator
Dans l'exemple ci-dessous, nous avons implémenté le previous()
et previousIndex()
méthodes du ListIterator
interface dans une liste de tableaux.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> iterate = numbers.listIterator();
iterate.next();
iterate.next();
// Using the previous() method
int number1 = iterate.previous();
System.out.println("Previous Element: " + number1);
// Using the previousIndex()
int index1 = iterate.previousIndex();
System.out.println("Position of the Previous element: " + index1);
}
}
Sortie
ArrayList: [1, 3, 2] Previous Element: 3 Position of the Previous Element: 0
Dans l'exemple ci-dessus, initialement, l'instance du Iterator
était avant 1. Puisqu'il n'y avait pas d'élément avant 1, appelez donc le previous()
méthode lèvera une exception.
Nous avons ensuite utilisé le next()
méthodes 2 fois. Maintenant le Iterator
instance sera comprise entre 3 et 2.
D'où le previous()
la méthode renvoie 3.
Java