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é.
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.
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.
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.
Classe TreeSet Comparaison des classes de collection
Recommended Posts