Maison Java Javacommencer Quelles sont les différences entre ArrayList, LinkedList et Vector ?

Quelles sont les différences entre ArrayList, LinkedList et Vector ?

Aug 06, 2020 pm 04:01 PM
arraylist linkedlist vector

Quelles sont les différences entre ArrayList, LinkedList et Vector ?

1. Analyse à partir de la structure des données de stockage

(tutoriel recommandé : tutoriel d'introduction Java)

ArrayList : Array

Vector : Array

LinkedList : Liste doublement chaînée

Array : Il peut être recherché rapidement en fonction de l'indice, donc dans la plupart des cas, la requête est rapide.

Cependant, si vous souhaitez effectuer des opérations d'ajout et de suppression, vous devrez déplacer tous les éléments derrière l'élément modifié, de sorte que la surcharge des ajouts et des suppressions est relativement importante, et l'efficacité d'exécution de l'ajout et les opérations de suppression du tableau sont faibles. ArrayList et Vector, qui utilisent des tableaux comme structures de stockage de données, ont également ces caractéristiques. La vitesse de requête est rapide (peut être récupérée directement en fonction de l'indice, ce qui est plus rapide que la recherche itérative), et l'ajout et la suppression sont lents.

Liste chaînée : il est pratique d'ajouter et de supprimer des éléments. Pour ajouter ou supprimer un élément, il vous suffit de gérer les références entre les nœuds. Tout comme les personnes se tenant la main d'affilée, si vous souhaitez ajouter ou supprimer quelqu'un, il vous suffit de changer les deux personnes à proximité pour qu'elles se tiennent la main avec une autre personne, et cela n'aura aucun effet sur les personnes qui se tiennent déjà la main. Les ressources et le temps consommés par la substitution sont les mêmes quel que soit l'endroit.

Mais il n'est pas pratique de rechercher. Il doit être comparé un par un, et il ne peut pas être recherché directement en fonction de l'indice. LinkedList, qui est stockée dans une structure de liste chaînée, présente également ces caractéristiques. Elle est facile à ajouter et à supprimer, mais lente à interroger (en référence à une requête aléatoire et non à une requête séquentielle).

2. Analyse du point de vue de l'héritage

Quelles sont les différences entre ArrayList, LinkedList et Vector ?

Ils implémentent tous l'interface List, ce qui signifie qu'ils implémentent tous get(int location ), remove(int location) et d'autres "fonctions pour obtenir et supprimer des nœuds en fonction des valeurs d'index".

(Tutoriel vidéo recommandé : Tutoriel vidéo Java )

Il est facile d'obtenir la valeur de la structure du tableau en fonction de l'indice et de l'implémentation de la LinkedList bidirectionnelle list est également relativement simple, en comptant la valeur de l'index. Pour implémenter, la recherche commence à partir de la moitié de la longueur de la liste chaînée. Si l'indice est plus grand, la recherche commencera à partir de la tête de la liste. commencera la recherche à partir de la fin de la liste.

3. Analyse du point de vue de la sécurité de la concurrence

Vecteur : sécurité des threads

ArrayList : sécurité des non-threads

LinkedList : Sécurité sans thread

4. Analyse de la croissance des données

Vecteur : Par défaut, la croissance est doublée par la longueur d'origine du tableau. En parlant de défaut, cela signifie qu'il peut définir la taille d'initialisation indépendamment.

ArrayList : agrandit automatiquement de 50 % le tableau d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Apr 27, 2023 pm 03:40 PM

1. La différence entre Iterator et foreach est la différence polymorphe (la couche inférieure de foreach est Iterator). Iterator est un type d'interface, et il ne se soucie pas du type de collection ou de tableau ; de la collection en premier, et même le type d'éléments dans la collection ; 1. Pourquoi dit-on que la couche inférieure de foreach est le code écrit par Iterator : Code décompilé : 2. La différence entre supprimer dans foreach et iterator. dans le manuel de développement Java d'Alibaba, mais aucune erreur ne sera signalée dans le cas 1, et une erreur sera signalée dans le cas 2 (java. util.ConcurrentModificationException) en premier

Comment vérifier si ArrayList contient un certain élément en Java ? Comment vérifier si ArrayList contient un certain élément en Java ? Sep 03, 2023 pm 04:09 PM

Vous pouvez utiliser la méthode contain() de l'interface List pour vérifier si un objet existe dans la liste. Méthode contain() booleancontains(Objecto) Renvoie true si cette liste contient l'élément spécifié. Plus formellement, renvoie vrai si et seulement si cette liste contient au moins un élément e tel que (o==null?e==null:o.equals(e)). Paramètre c - l'élément dont la présence dans cette liste doit être testée. Valeur de retour Renvoie vrai si cette liste contient l'élément spécifié. Lève ClassCastException - si le type de l'élément spécifié est incompatible avec cette liste (facultatif). NulP

Supprimez des éléments d'ArrayList à l'aide de la fonction ArrayList.remove() de Java Supprimez des éléments d'ArrayList à l'aide de la fonction ArrayList.remove() de Java Jul 24, 2023 pm 01:21 PM

Utilisez la fonction ArrayList.remove() de Java pour supprimer des éléments d'une ArrayList. En Java, ArrayList est une classe de collection couramment utilisée pour stocker et exploiter un ensemble d'éléments. La classe ArrayList fournit de nombreuses méthodes pour ajouter, supprimer, modifier et interroger des éléments dans la collection. L'une des méthodes les plus fréquemment utilisées est Remove(), qui peut supprimer des éléments d'une ArrayList. La méthode remove() de ArrayList a deux formes surchargées : une

Utilisez la méthode RemoveLast() de la classe LinkedList pour supprimer le dernier élément de la liste chaînée Utilisez la méthode RemoveLast() de la classe LinkedList pour supprimer le dernier élément de la liste chaînée Jul 24, 2023 pm 05:13 PM

Utilisez la méthode RemoveLast() de la classe LinkedList pour supprimer le dernier élément de la liste chaînée. LinkedList est une structure de données courante dans le framework de collection Java. Elle stocke les éléments sous la forme d'une liste doublement chaînée. Grâce aux méthodes fournies par la classe LinkedList, nous pouvons facilement opérer sur la liste chaînée, comme ajouter, supprimer et modifier des éléments. Dans certains scénarios, nous devrons peut-être supprimer le dernier élément de la liste chaînée. La classe LinkedList fournit RemoveLas

Quelle est la raison pour laquelle la capacité initiale d'ArrayList en Java est de 10 ? Quelle est la raison pour laquelle la capacité initiale d'ArrayList en Java est de 10 ? May 10, 2023 pm 02:19 PM

Pourquoi la capacité initiale de HashMap 16 ? Lorsqu'on parle de la capacité d'initialisation d'ArrayList, il faut d'abord revoir la capacité d'initialisation de HashMap. En prenant le code source Java8 comme exemple, il existe deux facteurs pertinents dans HashMap : la capacité d'initialisation et le facteur de chargement : /***La capacité initiale par défaut-DOIT être une puissance de deux.*/staticfinalintDEFAULT_INITIAL_CAPACITY=1>1);if(newCapacity-minCapacity0)newCapacity=hugeCapacity

Utilisez la fonction ArrayList.clear() de Java pour effacer les éléments de ArrayList Utilisez la fonction ArrayList.clear() de Java pour effacer les éléments de ArrayList Jul 24, 2023 pm 02:04 PM

Utilisez la fonction ArrayList.clear() de Java pour effacer les éléments de ArrayList. Dans la programmation Java, ArrayList est une structure de données très couramment utilisée qui peut stocker et accéder dynamiquement aux éléments. Cependant, dans certains cas, nous devrons peut-être effacer tous les éléments de l'ArrayList afin de réutiliser ou de libérer de la mémoire. À ce stade, vous pouvez utiliser la fonction clear() d'ArrayList pour y parvenir. ArrayList.clear()

Java utilise la fonction contain() de la classe ArrayList pour déterminer si un élément existe Java utilise la fonction contain() de la classe ArrayList pour déterminer si un élément existe Jul 24, 2023 pm 07:33 PM

Java utilise la fonction contain() de la classe ArrayList pour déterminer si un élément existe. ArrayList est une structure de données très couramment utilisée dans la programmation Java. Il offre un moyen flexible de stocker et de manipuler un ensemble de données. En plus de simplement ajouter, supprimer et accéder à des éléments, ArrayList fournit également des méthodes utiles, telles que la fonction contain(), qui est utilisée pour déterminer si un élément existe dans ArrayList. La fonction contient() est A

Programme Java pour ajouter des éléments à LinkedList Programme Java pour ajouter des éléments à LinkedList Aug 26, 2023 pm 10:21 PM

LinkedList est une classe générale de JavaCollectionFramework, qui implémente trois interfaces : List, Deque et Queue. Il fournit les fonctionnalités de la structure de données LinkedList, une structure de données linéaire dans laquelle chaque élément est lié les uns aux autres. Nous pouvons effectuer diverses opérations sur une LinkedList, notamment l'ajout, la suppression et le parcours d'éléments. Pour ajouter des éléments à la collection LinkedList, nous pouvons utiliser diverses méthodes intégrées telles que add(), addFirst() et addLast(). Nous explorerons comment utiliser ces méthodes pour ajouter des éléments à une LinkedList. en Java

See all articles