La différence entre la carte Java et la liste
Carte (cartographie)
Map est une collection qui mappe des objets clés et des objets de valeur. Chaque élément contient un objet clé et un objet de valeur. Map a principalement les deux classes d'implémentation suivantes :
HashMap : HashMap est implémenté sur la base d'une table de hachage. Le coût d'insertion et d'interrogation de
LinkedHashMap : similaire à HashMap, mais lors d'une itération, l'ordre dans lequel
TreeMap : TreeMap est implémenté sur la base d'arbres rouge-noir. Lors de l’affichage de
List (list)
Les éléments de List sont stockés de manière linéaire et peuvent stocker des objets répétés. List a principalement les deux classes d'implémentation suivantes :
.ArrayList : Un tableau de longueur variable, qui permet un accès aléatoire aux éléments. L'insertion et la suppression d'éléments dans ArrayList sont lentes. L'implémentation de l'expansion d'ArrayList dans JDK8 consiste à utiliser l'instruction newCapacity = oldCapacity + (oldCapacity >> 1) (c'est-à-dire une expansion de 1,5 fois) dans la méthode grow() pour calculer la capacité, puis à appeler Arrays.copyof() méthode pour copier le tableau d’origine.
LinkedList : grâce à la structure de données de liste chaînée, l'insertion et la suppression sont rapides, mais la vitesse d'accès est lente.
比较 | List | Map |
---|---|---|
继承接口 | Collection | |
常见实现类 | AbstractList(其常用子类有ArrayList、LinkedList、Vector) | HashMap、HashTable |
常见方法 | add( )、remove( )、clear( )、get( )、contains( )、size( ) | put( )、get( )、remove( )、clear( )、containsKey( )、containsValue( )、keySet( )、values( )、size( ) |
元素 | 可重复 | 不可重复 |
顺序 | 有序 | |
线程安全 | Vector线程安全 | Hashtable线程安全 |
Site Web chinois php, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !
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!