LinkedList en Java

LinkedList est une implémentation de l'interface java.util.List que l'on a vu dans ArrayList et Vector. LinkedList représente une liste chaînée en java.

La classe LinkedList supporte deux constructeurs:

LinkedList()
Ce constructeur crée une LinkedList vide.

LinkedList(Collection c)
Ce constructeur crée une LinkedList initialisée avec une collection de données.

Méthodes de la classe LindekList

1) void add(Object o): ajoute un élément à la liste.

list.Ladd("bonjour");
2) void add(int indice, Object o) : ajoute un élément à une position définie.


list.add(3, "position3");
3) void addAll(Collection c): ajoute les éléments d'une autre collection de données comme ArrayList. Elle lève une exception NullPointerException si la collection est nul.

LinkedList linkedlist = new LinkedList();
ArrayList arraylist= new ArrayList();
arraylist.add("123");
arraylist.add("456");
linkedlist.addAll(arraylist);
4) void addAll(int indice, Collection c): ajoute les éléments d'une autre collection de données comme ArrayList en commençant d'une position donnée. Elle lève une exception NullPointerException si la collection est nul et IndexOutOfBoundsException si vous avez dépassez la capacité de la liste.

linkedlist.addAll(3, arraylist);
5) void clear(): efface le contenu de la liste.

list.clear();
6) Object clone(): retourne une copie de la liste.

System.out.println("linkedList: "+list);
Object str= list.clone();
System.out.println("str: "+str);
Sortie:

linkedList: [object1, object2, object3]
str: [object1, object2, object3]
7) boolean contains(Object o): elle vérifie si l'objet est présent dans la liste. Si l'élément existe, elle retourne true sinon false.

boolean var = list.contains("String");
8) Object get(int indice): retourne l'élement à l'indice donné.
Object elt = llist.getLast();
9) int indexOf(Object o): retourne l'indice d'un objet donné.

int pos = llist.indexOf("o2");
10) int lastIndexOf(Object o): retourne l'indice de la dernière occurrence d'un objet donné.

int lastpos = llist.lastIndexOf("o6");
11) Object remove(int indice): supprime un objet à l'indice donné.

llist.remove(4);
12) Object remove(Object o): supprime un objet spécifique de la liste.

llist.remove("o6");
13) Object removeFirstOccurrence(Object o): supprime la première occurrence rencontrée.

llist.removeFirstOccurrence("bonjour");
14) Object removeLastOccurrence(Object o): supprime la dernière occurrence rencontrée.

llist.removeLastOccurrence("bonjour");
15) Object set(int indice, Object o): modifier la valeur d'un élément à un indice spécifique.

llist.set(llist.sise()-1, "bonsoir");
Mettre "bonsoir" dans la dernière position de la liste, on a mis "-1" pour ne pas dépasser la taille de la liste.

16) int size(); retourne la taille actuelle ou le nombre total des objets présents dans la liste.

llist.size();

Méthodes propres à LinkedList

1) void addFirst(Object o): insère un élément dans la première position.

list.addFirst("string");
2) void addLast(Object o): insère un élément dans la dernière position.

list.addLast("string");
3) Object getFirst(): retourne l'élément à la première position.

Object elt = llist.getFirst();
4) Object getLast(): retourne l'élément à la dernière position.

list.addFirst("string");
5) void removeFirst(): supprime l'élément de la première position.

list.removeFirst();
6) void removeLast(): supprime l'élément de la dernière position.

list.removeLast();

Exemple de LinkedList

Cette exemple illustre différents méthodes les plus populaires supportées par LinkedList:

package LinkedList;
import java.util.*;

public class LinkedListDemo {

public static void main(String args[]) {
// déclaration de linked list
LinkedList ll = new LinkedList();
// remplir les éléments dans linked list
ll.add("C");
ll.add("D");
ll.add("T");
ll.add("V");
ll.addFirst("A");
ll.addLast("Z");
ll.add(1, "B");

System.out.println("Contenu original: " + ll);

// remove elements from the linked list
ll.remove("F");
ll.remove(2);
ll.removeFirst();
System.out.println("Après suppression: "
+ ll);

// modification de la valeur de l'objet à l'indice 3
String first = ll.getFirst();
int index = ll.indexOf(first);
ll.set(index, first + " Nouveau");
System.out.println("Aprés modification: " + ll);
}
}
Sortie:

Contenu original: [A, B, C, D, T, V, Z]
Après suppression: [B, D, T, V, Z]
Aprés modification: [B Nouveau, D, T, V, Z]
Références:
Javadoc: LinkedList
Tutorialspoint: LinkedList class
upmf-grenoble: LinkedList