Java - Strutture dati
Le strutture dati fornite dal pacchetto di utilità Java sono molto potenti e svolgono un'ampia gamma di funzioni. Queste strutture dati sono costituite dalla seguente interfaccia e classi:
- Enumeration
- BitSet
- Vector
- Stack
- Dictionary
- Hashtable
- Properties
Tutte queste classi sono ora legacy e Java-2 ha introdotto un nuovo framework chiamato Collections Framework, che verrà discusso nel prossimo capitolo. -
L'enumerazione
L'interfaccia Enumeration non è di per sé una struttura di dati, ma è molto importante nel contesto di altre strutture di dati. L'interfaccia Enumeration definisce un mezzo per recuperare gli elementi successivi da una struttura dati.
Ad esempio, Enumeration definisce un metodo chiamato nextElement che viene utilizzato per ottenere l'elemento successivo in una struttura dati che contiene più elementi.
Per avere maggiori dettagli su questa interfaccia, seleziona The Enumeration .
Il BitSet
La classe BitSet implementa un gruppo di bit o flag che possono essere impostati e cancellati individualmente.
Questa classe è molto utile nei casi in cui è necessario tenere il passo con un insieme di valori booleani; basta assegnare un bit a ciascun valore e impostarlo o cancellarlo come appropriato.
Per maggiori dettagli su questa classe, controlla The BitSet .
Il vettore
La classe Vector è simile a un array Java tradizionale, tranne per il fatto che può crescere se necessario per accogliere nuovi elementi.
Come un array, è possibile accedere agli elementi di un oggetto Vector tramite un indice nel vettore.
La cosa bella dell'utilizzo della classe Vector è che non devi preoccuparti di impostarla su una dimensione specifica al momento della creazione; si restringe e cresce automaticamente quando necessario.
Per maggiori dettagli su questa classe, controlla The Vector .
Lo Stack
La classe Stack implementa una pila di elementi LIFO (last-in-first-out).
Puoi pensare a una pila letteralmente come una pila verticale di oggetti; quando aggiungi un nuovo elemento, viene impilato sugli altri.
Quando si estrae un elemento dalla pila, viene fuori dalla parte superiore. In altre parole, l'ultimo elemento che hai aggiunto alla pila è il primo a tornare indietro.
Per maggiori dettagli su questa classe, controlla The Stack .
Il dizionario
La classe Dictionary è una classe astratta che definisce una struttura di dati per mappare le chiavi ai valori.
Ciò è utile nei casi in cui si desidera essere in grado di accedere ai dati tramite una chiave particolare anziché un indice intero.
Poiché la classe Dictionary è astratta, fornisce solo il framework per una struttura dati mappata con chiavi anziché un'implementazione specifica.
Per maggiori dettagli su questa classe, controlla il dizionario .
Hashtable
La classe Hashtable fornisce un mezzo per organizzare i dati in base a una struttura chiave definita dall'utente.
Ad esempio, in una tabella hash di un elenco di indirizzi è possibile memorizzare e ordinare i dati in base a una chiave come il codice postale anziché al nome di una persona.
Il significato specifico delle chiavi rispetto alle tabelle hash dipende totalmente dall'utilizzo della tabella hash e dai dati in essa contenuti.
Per maggiori dettagli su questa classe, controlla The Hashtable .
Le proprietà
Properties è una sottoclasse di Hashtable. Viene utilizzato per mantenere elenchi di valori in cui la chiave è una stringa e anche il valore è una stringa.
La classe Properties viene utilizzata da molte altre classi Java. Ad esempio, è il tipo di oggetto restituito da System.getProperties () quando si ottengono i valori ambientali.
Per maggiori dettagli su questa classe, controlla le proprietà .