Liste liée Java
Liste liée Java
Dans le chapitre précédent, vous avez découvert la ArrayList
classe. La LinkedList
classe est presque identique à la
ArrayList
:
Exemple
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList vs LinkedList
La LinkedList
classe est une collection qui peut contenir plusieurs objets du même type, tout comme le ArrayList
.
La LinkedList
classe a toutes les mêmes méthodes que la ArrayList
classe car elles implémentent toutes les deux l' List
interface. Cela signifie que vous pouvez ajouter des éléments, modifier des éléments, supprimer des éléments et effacer la liste de la même manière.
Cependant, si la ArrayList
classe et la LinkedList
classe peuvent être utilisées de la même manière, elles sont construites très différemment.
Comment fonctionne ArrayList
La ArrayList
classe a un tableau régulier à l'intérieur. Lorsqu'un élément est ajouté, il est placé dans le tableau. Si le tableau n'est pas assez grand, un nouveau tableau plus grand est créé pour remplacer l'ancien et l'ancien est supprimé.
Comment fonctionne la LinkedList
Le LinkedList
stocke ses articles dans des "conteneurs". La liste a un lien vers le premier conteneur et chaque conteneur a un lien vers le conteneur suivant dans la liste. Pour ajouter un élément à la liste, l'élément est placé dans un nouveau conteneur et ce conteneur est lié à l'un des autres conteneurs de la liste.
Quand utiliser
Utilisez un ArrayList
pour stocker et accéder aux données, et LinkedList
pour manipuler les données.
Méthodes de listes liées
Dans de nombreux cas, le ArrayList
est plus efficace car il est courant d'avoir besoin d'accéder à des éléments aléatoires de la liste, mais le LinkedList
fournit plusieurs méthodes pour effectuer certaines opérations plus efficacement :
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |