[Java] Définit la structure de la classe de collection (à propos de HashSet et TreeSet)

Journal d'étude de programmation

15 octobre 2020 J'ai utilisé TreeSet en Java, mais je n'ai pas compris la différence avec HashSet, donc je l'ai enregistré.

Qu'est-ce qu'une classe de collection?

Une collection est un objet qui collecte des éléments. Les classes de collection sont approximativement divisées en trois types: Liste, Carte et Ensemble. Chacun est divisé en classes avec des propriétés différentes.

Il existe deux types de structure de liste, ArrayList et LinkedList. La structure Liste est une structure dans laquelle les éléments sont ordonnés et gérés, et comme les éléments sont disposés dans l'ordre des numéros d'index, les éléments peuvent être acquis, insérés, mis à jour, modifiés, etc. en spécifiant les numéros.

Il existe deux types de structures de carte, HashMap et TreeMap. La structure Map est une structure de données qui gère un ensemble de clés et de valeurs comme un seul élément, et comme les éléments sont gérés en tant que clés, vous pouvez spécifier la clé et ne pas mettre à jour ou supprimer la valeur. Le HashSet et le TreeSet gérés cette fois ont une structure Set comme leur nom l'indique, et sont résumés ci-dessous.

Qu'est-ce qu'une classe de collection de structure d'ensemble?

Il existe deux types de structures Set, HashSet et TreeSet, qui sont des structures de données qui gèrent les éléments sans les ordonner. Comme il n'y a pas de classement comme la liste et la gestion des clés comme Map, vous pouvez obtenir les éléments avec Iterator ou étendu pour instruction. Les éléments ne peuvent pas être dupliqués </ b> (écrasés si la même clé est définie.) Les différences entre HashMap et TreeSet peuvent être résumées comme suit.

--HashMap n'a pas d'importance dans l'ordre d'acquisition --TreeSet peut obtenir des éléments dans un ordre trié --HashMap ne peut pas gérer null --TreeSet peut gérer null

HashMap ne garantit pas l'ordre d'acquisition des éléments, mais TreeSet est automatiquement trié et géré, de sorte que les éléments peuvent être acquis dans l'ordre trié. En outre, HashMap peut utiliser null pour les éléments, mais TreeSet peut utiliser null.

Résumé

Non seulement la structure Set, mais également les fonctionnalités de la classe de collection sont facilement résumées dans un tableau.

ArrayList LinkedList HashMap TreeMap HashSet TreeSet
interface List List Map Map Set set
Dupliquer des éléments × × × ×
élément nul × × ×
Tri automatique × × ×

Bien que cela ne soit pas mentionné ci-dessus, ArrayList a les caractéristiques d'être rapide pour obtenir d'autres parties mais lent à insérer et à supprimer, et LinkedList se caractérise par sa rapidité à insérer et à supprimer des éléments, mais sa lenteur à obtenir.

Les références

Classe TreeSet Comparaison des classes de collection

Recommended Posts

[Java] Définit la structure de la classe de collection (à propos de HashSet et TreeSet)
[Java] Comparateur de la classe Collection
À propos de Biocontainers fastqc et Java
Mécanisme et caractéristiques de la classe d'implémentation Collection souvent utilisés en Java
[Java] Contenu de l'interface de collection et de l'interface de liste
À propos de la classe Java
À propos de next () et nextLine () de la classe Scanner
Collection expirée de java
À propos de la division de classe (Java)
À propos de la classe Java StringBuilder
[Java] À propos de la classe Singleton
À propos de la classe Java String
Programmation Java (structure de classe)
À propos de la classe abstraite de Java
[Java] À propos de Objects.equals () et examen de la comparaison de chaînes (== et égal à)
Utilisation correcte de la classe abstraite et de l'interface en Java
[Java] Gestion des chaînes de caractères (classe String et classe StringBuilder)
À propos des instances Java
À propos des types de chargeur de classe Java
Définition et instanciation de classe Java
[Java] À propos de String et StringBuilder
Recommandation de l'opération set par Java (et compréhension de equals et hashCode)
Résumé de la classe Java Math
Méthode de classe variable de classe Java
Avantages et inconvénients de Java
À propos du package Java et de l'importation
[Java] J'ai réfléchi aux mérites et aux utilisations de "interface"
À propos des impressions diverses de "Test des microservices Java" et du contrat axé sur le consommateur
Génère une liste de descripteurs CDK, de noms de classe et indique s'il s'agit de descripteurs de structure 3D.
[Java] Structure d'introduction Définition de classe Relation entre classe et instance Format de définition de méthode
Gérer la logique métier pour un ensemble d'entités dans une classe Java
Collection de tâches de programmation sélectionnées à réaliser et à mémoriser (bases de Java)
Lire les 4 premiers octets du fichier de classe Java et générer CAFEBABE
Diverses méthodes de la classe Java String
À propos de Lambda, Stream, LocalDate de Java8
[Java débutant] À propos de l'abstraction et de l'interface
Classe StringBuffer et StringBuilder en Java
À propos de removeAll et de retentionAll de ArrayList
A propos des types primitifs et des types de référence Java
Ceci et cela à propos de Base64 (Java)
Structure de base du code source Java
Une collection de phrases qui impressionne le "sentiment différent" de Java et de JavaScript
À propos de la classification et du concept de Immutable / Mutable / Const / Variable de Java et Kotlin.
Java Beginner Escape Boot Camp Partie 1 Structure et écriture des classes Java
Afficher le calendrier et le jour japonais en utilisant la classe standard java8
Importance de l'interface apprise de la collection Java
Après 3 mois de formation Java et Spring
À propos du fonctionnement de next () et nextLine ()
[Java] Différences entre les variables d'instance et les variables de classe
[À propos de JDBC qui connecte Java et SQL]
[Java / Swift] Comparaison de l'interface Java et du protocole Swift
[Java] Comparaison des méthodes d'opération de la collection et de StringBuilder
[Java débutant] À propos de l'initialisation d'un tableau multidimensionnel
[Connaissance de base de Java] À propos de la conversion de type
Utilisation correcte de l'interface et de la classe abstraite
Programmation Java (clause statique et "variables de classe")
java Calendar class (heure, comparaison, format)
Résumé de Java Math.random et import (calendrier)