Classi Collezione in Java

Concetti Chiave
  • 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, e PriorityQueue.

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.
Tabella 1: Principali Classi Collezione

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.