devstory

Le Tutoriel de Java LinkedList

  1. LinkedList
  2. Comment LinkedList stocke-il les éléments?
  3. Examples (as List)
  4. Example (as Deque)

1. LinkedList

LinkedList est l'une des classes les plus spéciales du Java Collection Framework. Voici ses caractéristiques:
  • LinkedList peut être utilisé comme une List, Deque(Double ended Queue) (Queue à double extrémité) ou une stack (pile).
  • LinkedList n'est pas synchronisé.
  • LinkedList autorise les éléments dupliqués.
  • LinkedList n'autorise pas les éléments null (Caractéristique d'une Queue).
  • LinkedList maintient l'ordre d'insertion des éléments.
public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable
LinkedList constructors
LinkedList()    

LinkedList​(Collection<? extends E> c)
LinkedList methods
void add​(int index, E element)
boolean add​(E e)
boolean addAll​(int index, Collection<? extends E> c)
boolean addAll​(Collection<? extends E> c)
void addFirst​(E e)
void addLast​(E e)
void clear()
Object clone()
boolean contains​(Object o)
Iterator<E> descendingIterator()
E element()
E get​(int index)
E getFirst()
E getLast()
int indexOf​(Object o)
int lastIndexOf​(Object o)
ListIterator<E> listIterator​(int index)
boolean offer​(E e)
boolean offerFirst​(E e)
boolean offerLast​(E e)
E peek()
E peekFirst()
E peekLast()
E poll()
E pollFirst()
E pollLast()
E pop()
void push​(E e)
E remove()
E remove​(int index)
boolean remove​(Object o)
E removeFirst()
boolean removeFirstOccurrence​(Object o)
E removeLast()
boolean removeLastOccurrence​(Object o)
E set​(int index, E element)
int size()
Spliterator<E> spliterator()
Object[] toArray()
<T> T[] toArray​(T[] a)

2. Comment LinkedList stocke-il les éléments?

LinkedList gère de manière spécifique les éléments et résoud les inconvénients des tableaux. Dans cette section, on analysera comment LinkedList gère ses éléments.
Chaque élément LinkedList est enveloppé par un objet Node. Chaque objet Node dispose d'une référence au Node qui le précède et le suit. Par conséquent, on peut se déplacer du premier au dernier élément LinkedList.
Supprimer l'élément de LinkedList équivaut à supprimer le Node correspondant. Pour ce faire, les Node(s) précédents et suivants doivent mettre à jour leurs références:
L'insertion d'un élément dans LinkedList se fait également tout simplement comme l'illustration ci-dessous:

3. Examples (as List)

LinkedList peut être utilisé comme une List. Il autorise toutes les méthodes spécifiées dans l'interface de List, y compris les méthodes facultatives. Par conséquent, vous pouvez accéder aux éléments de LinkedList via Iterator, ListIterator ou Stream. Vous pouvez trouver des exemples précis à propos de List dans l'article ci-dessous:

4. Example (as Deque)

LinkedList peut également être utilisé comme Deque (Double ended Queue), ou utilisé comme une stack. Des exemples précis à propos de Deque et de stack sont proposés dans l'article ci-dessous:
Deque (Double ended Queue) (Queue à double extrémité) ressemble à une file d'attente normale, mais vous pouvez accéder à son premier et dernier élément.
La Stack fonctionne selon le principe LIFO (Last In First Out) (Le dernier élément inséré sera récupéré en premier).