Junior
Quelles collections existent en Java?
sobes.tech IA
Réponse de l'IA
En Java, il existe les principales interfaces de collections suivantes qui font partie du Java Collections Framework :
-
Collection: Interface de base définissant des opérations communes sur des groupes d'objets. Elle hérite des sous-interfaces :List: Collection ordonnée (séquence). Les éléments peuvent se répéter. Supporte l'accès par index.ArrayList: Tableau dynamique. Bon pour un accès rapide par index et l'ajout à la fin. Lent pour insérer/supprimer au milieu.LinkedList: Liste doublement chaînée. Bon pour insérer/supprimer au début ou à la fin. Lent pour l'accès par index.Vector: Version synchronisée deArrayList. Considérée comme obsolète.Stack: Hérite deVector, implémente le comportement de pile (LIFO).
Set: Collection contenant uniquement des éléments uniques. Ne garantit pas l'ordre.HashSet: Implémenté avec une table de hachage. Le plus rapide pour ajouter, supprimer et vérifier la présence. Ne garantit pas l'ordre.LinkedHashSet: Implémenté comme une table de hachage + liste chaînée. Garantit l'ordre d'insertion.TreeSet: Implémenté avec un arbre rouge-noir. Stocke les éléments dans un ordre trié. Plus lent queHashSet, mais plus rapide queLinkedHashSetpour les plages de recherche.
Queue: Collection conçue pour stocker des éléments avant traitement (FIFO - First-In, First-Out).PriorityQueue: Les éléments sont stockés selon leur ordre naturel ou un comparateur. Le plus prioritaire est extrait.Deque: (Double Ended Queue) Supporte l'insertion et la suppression aux deux extrémités.ArrayDeque: Implémentation de Deque basée sur un tableau. Plus efficace queLinkedListen tant que file/de pile.
-
Map: Collection qui stocke des paires clé-valeur. Les clés sont uniques.HashMap: Implémenté avec une table de hachage. Le plus rapide pour ajouter, supprimer et vérifier la présence. Ne garantit pas l'ordre des clés.LinkedHashMap: Implémenté comme une table de hachage + liste chaînée. Garantit l'ordre d'insertion ou d'accès.TreeMap: Implémenté avec un arbre rouge-noir. Stocke les paires clé-valeur dans un ordre trié par clés. Plus lent queHashMap.HashTable: Version synchronisée deHashMap. Considérée comme obsolète.
Il existe également des classes obsolètes qui ne font pas partie du JCF, mais qui sont parfois rencontrées :
VectorStackHashtableEnumeration(interface)