Différence entre ArrayList et LinkedList

Différence entre ArrayList et LinkedList

Différence clé - ArrayList vs Listin lié
 

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 qui peuvent croître au besoin. Les langages de programmation tels que Java ont des collections. C'est un cadre avec un ensemble de classes et d'interfaces. Il sert de conteneur pour un groupe d'éléments. Les collections permettent de stocker, de mettre à jour, de récupérer un ensemble d'éléments. Il aide à travailler avec des structures de données telles que des listes, des ensembles, des arbres et des cartes. La liste est une interface de la collection Framework. ArrayList et LinkedList sont deux classes dans le cadre des collections . Ils implémentent l'interface de collection et la liste d'interface. Cet article traite de la différence entre ArrayList et LinkedList. ArrayList est une classe qui étend l'AbstractList et met en œuvre l'interface de liste, qui utilise en interne un tableau dynamique pour stocker des éléments de données. LinkedList est une classe qui étend les interfaces AbstractSesentialList et implémente la liste, la déshormisation et la file d'attente, 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.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que ArrayList
3. Qu'est-ce que LinkedList
4. Similitudes entre ArrayList et LinkedList
5. Comparaison côte à côte - ArrayList vs Linkedlist sous forme tabulaire
6. Résumé

Qu'est-ce que ArrayList?

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, de sorte que le programmeur peut ajouter des éléments à la liste. La classe ArrayList étend la classe AbstractList qui implémente l'interface de liste. Par conséquent, les méthodes de l'interface de liste 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 supprime () est utilisée pour supprimer un élément de la liste. Référer le programme ci-dessous.

Figure 01: Exemple de ArrayList

Selon le programme ci-dessus, un objet d'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 en utilisant la méthode ADD. La méthode supprimée est utilisée pour supprimer un élément de la liste. Lorsque vous passez 4 à la méthode de suppression, la lettre du 4ème indice qui est «E» est supprimée de la liste. Lors de l'itération de la liste à l'aide de la boucle pour les lettres A, B, C et D.

Qu'est-ce que LinkedList?

Semblable à ArrayList, la liste Linked est utilisée pour stocker les éléments de données dynamiquement. Un objet créé à l'aide de la classe LinkedList est autorisé à stocker un ensemble d'éléments dans la liste. La capacité augmente automatiquement, de sorte que le programmeur peut ajouter des éléments à la liste. Il utilise en interne la liste doublement liée pour stocker les 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 nœud précédent. Le lien suivant pointe vers le nœud suivant dans la séquence.

La classe LinkedList étend la classe AbstractSeventialeList et implémente l'interface de liste. Par conséquent, les méthodes d'interface de liste peuvent être utilisées par la liste Linked. 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 supprime () est utilisée pour supprimer un élément de la liste. Référer 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 en utilisant la méthode ADD. La méthode supprimée est utilisée pour supprimer un élément de la liste. Lorsque vous passez 4 à la méthode de suppression, la lettre du 4ème indice qui est «E» supprime de la liste. Lors de l'itération de l'utilisation de la boucle FOR, les lettres A, B, C et D s'impriment.

Quelles sont les similitudes entre ArrayList et LinkedList?

  • ArrayList et LinkedList implémentent l'interface de liste.
  • ArrayList et LinkedList peuvent contenir des éléments en double.
  • ArrayList et LinkedList conservent l'ordre d'insertion.

Quelle est la différence entre ArrayList et LinkedList?

ArrayList vs Linkedlist

ArrayList est une classe qui étend l'AbstractList et implémente l'interface de liste qui utilise en interne un tableau dynamique pour stocker les éléments de données. LinkedList est une classe qui étend la liste de listes et les implémentés AbstractSeventiale et implémente, Deque, des interfaces de file d'attente, 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 d'une liste liée. L'accès aux éléments de LinkedList est plus lent que d'une liste Array.
Manipulation des éléments
La manipulation des éléments de ArrayList est plus lente que d'une liste liée. La manipulation des éléments de LinkedList est plus rapide que d'une liste d'arraises.
 Comportement
ArrayList fonctionne comme une liste. LinkedList fonctionne comme une liste et une file d'attente.

Résumé - ArrayList vs Listin lié

Le cadre 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 de la collection Framework. Cet article a discuté de la différence entre ArrayList et LinkedList. ArrayList est une classe qui étend l'AbstractList et implémente l'interface de liste qui utilise en interne un tableau dynamique pour stocker les éléments de données. LinkedList est une classe qui étend la liste de listes et les implémentés AbstractSeventiale et implémente, Deque, des interfaces de file d'attente, 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.

Référence:

1.Introduction à la liste liée | Tutoriel de structure de données | StudyTonight. Disponible ici
2.«Linkedlist en Java - Javatpoint.», Le point, disponible ici
3.«Classe Java ArrayList - Javatpoint."Le point, disponible ici