Différence entre ArrayList et LinkedList

Table des matières:

Différence entre ArrayList et LinkedList
Différence entre ArrayList et LinkedList

Vidéo: Différence entre ArrayList et LinkedList

Vidéo: Différence entre ArrayList et LinkedList
Vidéo: Java Cours 105 درس جافا Les Collections partie 2 LinkedList 2024, Novembre
Anonim

Différence clé - ArrayList vs LinkedList

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 baies qui peuvent croître selon les 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 aide à 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 des collections. Ils implémentent l'interface de collecte et l'interface de liste. Cet article explique 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 les é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 les éléments de données. C'est la principale différence entre ArrayList et LinkedList.

Qu'est-ce qu'une 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 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() est utilisée pour supprimer un élément de la liste. Reportez-vous au programme ci-dessous.

Différence entre ArrayList et LinkedList
Différence entre ArrayList et LinkedList
Différence entre ArrayList et LinkedList
Différence entre ArrayList et LinkedList

Figure 01: Exemple de ArrayList

Selon le programme ci-dessus, un objet de ArrayList est créé. En utilisant la méthode add, des é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. Lors du passage de 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 dans la liste à l'aide de la boucle for, les lettres A, B, C et D s'imprimeront.

Qu'est-ce que LinkedList ?

Semblable à ArrayList, la LinkedList est utilisée pour stocker dynamiquement des éléments de données. 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 une liste à double lien 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 AbstractSequentialList et implémente l'interface List. Par conséquent, les méthodes de l'interface List peuvent être utilisées par la 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() est utilisée pour supprimer un élément de la liste. Reportez-vous au programme ci-dessous.

Différence clé entre ArrayList et LinkedList
Différence clé entre ArrayList et LinkedList
Différence clé entre ArrayList et LinkedList
Différence clé entre ArrayList et LinkedList

Figure 02: Exemple avec LinkedList

Selon le programme ci-dessus, un objet de LinkedList est créé. En utilisant la méthode add, des é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. Lors du passage de 4 à la méthode de suppression, 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 s'imprimeront.

Quelles sont les similarités entre ArrayList et LinkedList ?

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

Quelle est la différence entre ArrayList et LinkedList ?

ArrayList vs LinkedList

ArrayList est une classe qui étend la AbstractList et implémente l'interface List qui utilise en interne un tableau dynamique pour stocker les éléments de données. LinkedList est une classe qui étend la AbstractSequentialList et implémente les interfaces List, Deque, Queue, qui utilise en interne une liste doublement chaînée pour stocker les éléments de données.
Accéder aux éléments
L'accès aux éléments d'ArrayList est plus rapide que d'une LinkedList. L'accès aux éléments d'une LinkedList est plus lent que celui d'une ArrayList.
Manipulation d'éléments
La manipulation des éléments d'ArrayList est plus lente que celle d'une LinkedList. La manipulation des éléments d'une LinkedList est plus rapide que celle d'une ArrayList.
Comportement
ArrayList fonctionne comme une liste. LinkedList fonctionne comme une liste et une file d'attente.

Résumé - ArrayList vs LinkedList

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 du framework de collection. 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 les éléments de données. LinkedList est une classe qui étend la AbstractSequentialList et implémente les interfaces List, Deque, Queue, qui utilise en interne une liste doublement liée pour stocker les éléments de données. C'est la différence entre ArrayList et LinkedList.

Conseillé: