Classi Collezione in Java
- Le classi collezione in Java forniscono strutture dati flessibili e potenti per gestire gruppi di oggetti.
- Comprendere le differenze tra le varie implementazioni delle interfacce
Collection
è fondamentale per scegliere la giusta struttura dati per le proprie esigenze. - Le classi principali includono
ArrayList
,LinkedList
,HashSet
,TreeSet
, ePriorityQueue
.
Le Classi Collezione
Adesso che abbiamo familiarità con le interfacce Collection
, siamo pronti per esaminare le classi standard che le implementano.
Alcune delle classi collezione forniscono implementazioni complete che possono essere utilizzate così come sono. Altre sono astratte, fornendo implementazioni di base (degli skeleton) che sono utilizzate come punti di partenza per creare collection concrete. Come regola generale, le classi collection non sono sincronizzate, ma come vedremo nelle prossime lezioni, è possibile ottenere versioni sincronizzate.
Le classi Collection
principali fornite dalla libreria standard di Java sono riassunte nella tabella seguente:
Classe | Descrizione |
---|---|
AbstractCollection |
Implementa la maggior parte dell'interfaccia Collection . |
AbstractList |
Estende AbstractCollection e implementa la maggior parte dell'interfaccia List . |
AbstractQueue |
Estende AbstractCollection e implementa parti dell'interfaccia Queue . |
AbstractSequentialList |
Estende AbstractList per l'uso da parte di una collection che utilizza accesso sequenziale piuttosto che casuale dei suoi elementi. |
LinkedList |
Implementa una lista collegata estendendo AbstractSequentialList . |
ArrayList |
Implementa un array dinamico estendendo AbstractList . |
ArrayDeque |
Implementa una coda dinamica a doppia estremità estendendo AbstractCollection e implementando l'interfaccia Deque . |
AbstractSet |
Estende AbstractCollection e implementa la maggior parte dell'interfaccia Set . |
HashSet |
Estende AbstractSet per l'uso con una tabella hash. |
LinkedHashSet |
Estende HashSet per consentire iterazioni nell'ordine di inserimento. |
PriorityQueue |
Estende AbstractQueue per supportare una coda basata sulla priorità. |
TreeSet |
Implementa un set memorizzato in un albero. Estende AbstractSet . |
EnumSet |
Estende AbstractSet per l'uso con elementi enum . |
Le sezioni seguenti esaminano le classi collection concrete e illustrano il loro uso.
Oltre alle classi collection, diverse classi legacy, come Vector
, Stack
e Hashtable
, sono state riprogettate per supportare le collection. Queste vengono esaminate nelle prossime lezioni.