Les collections sont utiles pour stocker des données. Dans un tableau normal, la taille du tableau est fixe. Parfois, il est nécessaire de créer des tableaux pouvant se développer en fonction des besoins. Les langages de programmation tels que Java ont des collections. C'est un framework avec un ensemble de classes et d'interfaces. Il sert de conteneur pour un groupe d'éléments. Les collections permettent de stocker, mettre à jour, récupérer un ensemble d’éléments. Il est utile de travailler avec des structures de données telles que des listes, des ensembles, des arbres et des cartes. La liste est une interface du framework Collection. ArrayList et LinkedList sont deux classes du framework de collections. Ils implémentent l'interface de collection et l'interface de liste. Cet article traite de la différence entre ArrayList et LinkedList. ArrayList est une classe qui étend AbstractList et implémente l'interface List, qui utilise en interne un tableau dynamique pour stocker des éléments de données. LinkedList est une classe qui étend AbstractSequentialList et implémente les interfaces List, Deque et Queue, qui utilisent en interne une liste doublement liée pour stocker des éléments de données.. C'est le différence clé entre ArrayList et LinkedList.
1. Vue d'ensemble et différence clé
2. Qu'est-ce que ArrayList?
3. Qu'est-ce que LinkedList?
4. Similarités entre ArrayList et LinkedList
5. Comparaison côte à côte - ArrayList vs LinkedList sous forme tabulaire
6. Résumé
La classe ArrayList est utilisée pour créer des tableaux dynamiques. Contrairement à un tableau normal, la taille d'un tableau dynamique n'est pas fixe. Un objet créé à l'aide de la classe ArrayList est autorisé à stocker un ensemble d'éléments dans la liste. La capacité augmente automatiquement afin que le programmeur puisse ajouter des éléments à la liste. La classe ArrayList étend la classe AbstractList qui implémente l'interface List. Par conséquent, les méthodes de l'interface List peuvent être utilisées par ArrayList. Pour accéder aux éléments, la méthode get () est utilisée. La méthode add () peut être utilisée pour ajouter des éléments à la liste. La méthode remove () permet de supprimer un élément de la liste. Voir le programme ci-dessous.
Figure 01: Exemple de ArrayList
Selon le programme ci-dessus, un objet de ArrayList est créé. En utilisant la méthode add, les éléments peuvent être ajoutés dynamiquement. Les éléments «A», «B», «C», «D» et «E» sont ajoutés à l'aide de la méthode add. La méthode remove est utilisée pour supprimer un élément de la liste. Lorsque vous passez 4 à la méthode remove, la lettre du 4ème index, qui est "E", est supprimée de la liste. En parcourant la liste à l’aide de la boucle for, les lettres A, B, C et D seront imprimées..
Semblable à ArrayList, la liste LinkedList est utilisée pour stocker des éléments de données de manière dynamique. Un objet créé à l'aide de la classe LinkedList est autorisé à stocker un ensemble d'éléments dans la liste. La capacité augmente automatiquement afin que le programmeur puisse ajouter des éléments à la liste. Il utilise en interne une liste doublement liée pour stocker des données. Dans une liste doublement liée, les données sont stockées sous forme de nœuds. Chaque nœud contient deux liens. Le premier lien pointe vers le noeud précédent. Le lien suivant pointe vers le prochain noeud de la séquence.
La classe LinkedList étend la classe AbstractSequentialList et implémente l'interface List. Par conséquent, les méthodes de l'interface List peuvent être utilisées par LinkedList. La méthode get () peut être utilisée pour accéder aux éléments de la liste. La méthode add () peut être utilisée pour ajouter des éléments à la liste. La méthode remove () permet de supprimer un élément de la liste. Voir le programme ci-dessous.
Figure 02: Exemple avec LinkedList
Selon le programme ci-dessus, un objet de LinkedList est créé. En utilisant la méthode add, les éléments peuvent être ajoutés dynamiquement. Les éléments «A», «B», «C», «D» et «E» sont ajoutés à l'aide de la méthode add. La méthode remove est utilisée pour supprimer un élément de la liste. Lorsque vous passez 4 à la méthode remove, la lettre du 4ème index, qui est «E», est supprimée de la liste. Lors de l'itération à l'aide de la boucle for, les lettres A, B, C et D seront imprimées..
ArrayList vs LinkedList | |
ArrayList est une classe qui étend AbstractList et implémente l'interface List qui utilise en interne un tableau dynamique pour stocker des éléments de données.. | LinkedList est une classe qui étend AbstractSequentialList et implémente les interfaces List, Deque, Queue, qui utilise en interne une liste doublement liée pour stocker des éléments de données.. |
Accéder aux éléments | |
L'accès aux éléments de ArrayList est plus rapide que celui d'une LinkedList. | L'accès aux éléments de LinkedList est plus lent que d'un ArrayList. |
Manipuler des éléments | |
La manipulation des éléments de ArrayList est plus lente que celle d'une LinkedList. | La manipulation des éléments de LinkedList est plus rapide que celle d'un ArrayList. |
Comportement | |
ArrayList fonctionne comme une liste. | LinkedList fonctionne comme une liste et une file d'attente. |
La structure de collecte permet de travailler avec des structures de données telles que des listes, des arbres, des cartes et des ensembles. La liste est une interface du cadre de la collection. Cet article a traité de la différence entre ArrayList et LinkedList. ArrayList est une classe qui étend AbstractList et implémente l'interface List qui utilise en interne un tableau dynamique pour stocker des éléments de données. LinkedList est une classe qui étend AbstractSequentialList et implémente les interfaces List, Deque, Queue, qui utilise en interne une liste doublement liée pour stocker des éléments de données. C’est la différence entre ArrayList et LinkedList.
1.Introduction à la liste chaînée | Didacticiel sur la structure de données | Studytonight. Disponible ici
2. "LinkedList in Java - javatpoint.",Le point, Disponible ici
3. "Classe Java ArrayList - javatpoint." Le point, Disponible ici