LinkedList

 

Une LinkedList permet d'ajouter des éléments les uns après les autres dans un ensemble ordonné. Les éléments peuvent être accédés par leur indice.

Il s'agit d'une collection du package java.util

Le principe de cette classe est d'utiliser un tableau qui lorsqu'il est trop petit est dupliqué dans un nouveau tableau de taille plus grande.

Il s'agit en fait d'une liste doublement chaînée. Chacun des éléments référence l'élément précédent et suivant.

Avantage: Très rapide pour insérer un élément dans la liste car contrairement à une ArrayList, il n'est pas nécessaire de déplacer tous les autres éléments de la collection.

Inconvénient: L'accès aux éléments de la liste se fait séquentiellement grâce aux liens entre les chaînons. La recherche peut donc être longue.

La valeur de l'indexe commence à 0 et s'incrémente au fur et à mesure que l'on ajoute des éléments, ou se décrémente si on en retire.

Image non trouvée !Voir aussi la collection ArrayList très similaire.

 

Quelques méthodes

Méthode Désignation
public void add (java.lang.Object object) Ajoute la référence d'un objet à la fin de la collection.
public boolean add (int index, java.lang.Object object)

Inserela référence d'un objet à l'index donné, déplace donc les autres références à partir de cet index automatiquement.

(Note: Voir aussi addAll pour ajouter une collection)

public java.lang.Object get (int index) Récupérer la référence d'un objet par l'index de l'élément.
public java.lang.Object set (int index) Modifier la référence d'un objet par l'index de l'élément.
boolean contains (java.lang.Object object)

Recherche la présence d'un élément dans la collection correspondant à l'objet dont la référence est passée en paramètre.

Retourne vrai si trouvé, false sinon

(Note:

- utilise la méthode equals pour comparer les objets

- Il est possible de faire de même avec une collection: boolean java.util.Collection.containsAll)

public int indexOf (java.lang.Object object)

Recherche la valeur d'un index pour le premier élément dans la collection correspondant à l'objet dont la référence passée en paramètre.

(Note: utilise la méthode equals pour comparer les objets)

public int lastIndexOf (java.lang.Object object)

Recherche la valeur d'un index pour le dernier élément dans la collection correspondant à l'objet dont la référence passée en paramètre.

(Note: utilise la méthode equals pour comparer les objets)

public int size Indique le nombre total d'éléments dans la collection
public void clear() Effacer le contenu de la collection
public java.lang.Object remove (int index) Effacer un élément de la collection par son index
public java.lang.Object remove (int index) Effacer un élément de la collection par sa référence
public java.util.Iterator iterator() Itérateur pour énumérer les éléments de la collection. Vous pouvez donc utiliser l'écriture du for java 5 avec iterateur: for (element:collection) !
public java.lang.Object [] to Array (java.lang.Object [] a) Récupérer les éléments de la collection dans un tableau
public void push (java.lang.Object a) Envoyer dans la pile LIFO
public java.lang.Object pop () Récupérer de la pile LIFO

Image non trouvée !Une exception java.lang.IndexOutOfBoundsException pourra être déclenchée si vous essayez d'accèder à un élément via un index hors des valeurs du tableau. D'autres méthodes pourront aussi déclencher des exceptions...

 

Exemples de code

 

Exemple d'utilisation en pile LIFO (Last Input First Output)