Struttura dati e tipo di dati astratto
Struttura dati (data structure): è un modo sistematico di organizzare i dati in un contenitore e di controllarne le modalità d’accesso. In Java si definisce una struttura dati con una classe.
Tipo di dati astratto (ADT, Abstract Data Type): è una rappresentazione astratta di una struttura dati, un modello che specifica:
- Il tipo di dati memorizzati
- Le operazioni che si possono eseguire sui dati, insieme al tipo di informazioni necessarie per eseguire tali operazioni
In Java si definisce un tipo di dati astratto con un’interfaccia. Un ADT definisce cosa si può fare con una struttura dati che realizza l’interfaccia. La classe che rappresenta concretamente la struttura dati definisce invece come vengono eseguite le operazioni.
Un ADT mette in generale a disposizione metodi per svolgere le seguenti azioni:
- Inserimento di un elemento
- Rimozione di un elemento
- Ispezione degli elementi contenuti nella struttura
- Ricerca di un elemento all’interno della struttura
Il package java.util della libreria standard contiene molte definizioni/realizzazioni di ADT come interfacce e classi. Le interfacce possono essere estese da altre interfacce. Un’interfaccia eredita i metodi della super-interfaccia. Una classe che realizza un’interfaccia estesa deve realizzare anche i metodi della sua super-interfaccia.