Dans ce didacticiel, nous allons découvrir l'interface List en Java et ses méthodes.
En Java, l' List
interface est une collection ordonnée qui nous permet de stocker et d'accéder aux éléments de manière séquentielle. Il étend l' Collection
interface.
Classes qui implémentent la liste
Puisqu'il List
s'agit d'une interface, nous ne pouvons pas créer d'objets à partir de celle-ci.
Afin d'utiliser les fonctionnalités de l' List
interface, nous pouvons utiliser ces classes:
- Liste des tableaux
- LinkedList
- Vecteur
- Empiler
Ces classes sont définies dans le framework Collections et implémentent l' List
interface.
Comment utiliser List?
En Java, nous devons importer le java.util.List
package pour pouvoir l'utiliser List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Ici, nous avons créé les objets list1 et list2 des classes ArrayList
et LinkedList
. Ces objets peuvent utiliser les fonctionnalités de l' List
interface.
Méthodes de liste
L' List
interface comprend toutes les méthodes de l' Collection
interface. C'est parce que Collection
c'est une super interface de List
.
Certaines des méthodes couramment utilisées de l' Collection
interface qui sont également disponibles dans l' List
interface sont:
add()
- ajoute un élément à une listeaddAll()
- ajoute tous les éléments d'une liste à une autreget()
- aide à accéder au hasard aux éléments des listesiterator()
- retourne un objet itérateur qui peut être utilisé pour accéder séquentiellement aux éléments de listesset()
- modifie les éléments des listesremove()
- supprime un élément de la listeremoveAll()
- supprime tous les éléments de la listeclear()
- supprime tous les éléments de la liste (plus efficace queremoveAll()
)size()
- renvoie la longueur des listestoArray()
- convertit une liste en un tableaucontains()
- retournetrue
si une liste contient un élément spécifié
Implémentation de l'interface de liste
1. Implémentation de la classe ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Production
Liste: (1, 2, 3) Élément consulté: 3 Élément supprimé: 2
Pour en savoir plus ArrayList
, visitez Java ArrayList.
2. Implémentation de la classe LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Production
Liste: (1, 2, 3) Élément consulté: 3 La position de 3 est 1 Élément supprimé: 2
Pour en savoir plus LinkedList
, visitez Java LinkedList.
Liste Java vs ensemble
L' List
interface et l' Set
interface héritent toutes deux de l' Collection
interface. Cependant, il existe une différence entre eux.
- Les listes peuvent inclure des éléments en double. Cependant, les ensembles ne peuvent pas avoir d'éléments en double.
- Les éléments des listes sont stockés dans un certain ordre. Cependant, les éléments des ensembles sont stockés dans des groupes comme les ensembles en mathématiques.
Maintenant que nous savons ce que List
c'est, nous verrons ses implémentations dans ArrayList
et ses LinkedList
classes en détail dans les prochains tutoriels.