Maison > Java > javaDidacticiel > Introduction à la relation et à la différence entre Set et List en Java

Introduction à la relation et à la différence entre Set et List en Java

高洛峰
Libérer: 2017-01-22 15:25:03
original
1921 Les gens l'ont consulté

Les deux interfaces sont héritées de Collection.

Liste (interface)

L'ordre est la fonctionnalité la plus importante de List, qui garantit que l'ordre spécifique des éléments est maintenu
—. —ArrayList Permet un accès aléatoire rapide aux éléments.
- LinkedList optimise l'accès séquentiel. La surcharge liée à l'insertion et à la suppression du milieu de la liste n'est pas importante. RemoveLast(). Ces méthodes permettent d'utiliser LinkedList comme pile/file d'attente/file d'attente bidirectionnelle.

Set (interface)

Chaque élément stocké dans Set doit être unique et l'ordre de Il n'est pas garanti que les éléments soient conservés. Ajouter à l'ensemble L'objet doit définir la méthode equals()
--HashSet, un ensemble conçu pour une recherche rapide, et l'objet stocké dans le HashSet doit définir hashCode(). --TreeSet, un ensemble qui protège l'ordre, peut être extrait de l'ensemble en l'utilisant Séquence ordonnée
--LinkedHashSet A la vitesse de requête de HashSet et utilise en interne une liste chaînée pour maintenir l'ordre des éléments <.>
Les méthodes de stockage entre elles sont différentes :

TreeSet utilise le rouge et le noir. Les éléments sont triés selon la structure arborescente

HashSet utilise une fonction de hachage, spécialement conçue pour les requêtes rapides. .

LinkedHashSet utilise le hachage en interne pour accélérer les requêtes, tout en utilisant des listes chaînées pour maintenir l'ordre des éléments.

Lors de l'utilisation de HashSet/TreeSet, equals() doit être défini pour la classe ; pour HashSet. En tant que style de programmation, lorsque equals() est remplacé, hashCode() doit également être remplacé.

Pour plus d'articles sur la relation et les différences entre Set et List en Java, veuillez prêter attention au Site Web chinois PHP !

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal