Une liste chaînée est une liste dont chaque élément est relié au suivant par une référence à ce dernier, sa taille n'est pas fixe : on peut ajouter et enlever des éléments selon nos besoins.
Les
LinkedList acceptent tout type d'objet.
Chaque élément contient une référence sur l'élément suivant sauf pour le dernier : son suivant est en fait
null.
Cette classe se trouve dans le package
java.util.
Voici un petit code pour appuyer mes dires :
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
public class Test {
public static void main(String[] args) {
List l = new LinkedList();
l.add(12);
l.add("toto ! !");
l.add(12.20f);
for(int i = 0; i < l.size(); i++)
System.out.println("Élément à l'index " + i + " = " + l.get(i));
}
}
|
Vous pourrez constater que tous les éléments s'affichent !
Maintenant, vous devez savoir autre chose sur ce genre d'objet. Ceux-ci implémentent l'interface
Iterator. Ceci signifie que nous pouvons utiliser cette interface pour lister notre
LinkedList.
Dans le code suivant, j'ai rajouté le parcours avec un itérateur :
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
public class Test {
public static void main(String[] args) {
List l = new LinkedList();
l.add(12);
l.add("toto ! !");
l.add(12.20f);
for(int i = 0; i < l.size(); i++)
System.out.println("Élément à l'index " + i + " = " + l.get(i));
System.out.println("\n \tParcours avec un itérateur ");
System.out.println("-----------------------------------");
ListIterator li = l.listIterator();
while(li.hasNext())
System.out.println(li.next());
}
}
|
Vous pouvez constater que les deux manières de procéder sont analogues !
Cependant, je dois vous dire quelques choses sur les listes chaînées. Vu que les éléments ont une référence à leur élément suivant, ce type de listes peut être particulièrement lourd lorsqu'elles deviennent volumineuses !
À utiliser avec précaution. Si vous voulez en savoir plus,
c'est par là.
Nous allons voir un autre objet de la même famille : les
ArrayList.