Page 1356 - Informatica dalla A a Z
P. 1356
frase.lengthQ);
System.out.printing" \ nVOCALI" );
System.out.println( "Numero = " + gestore.vocali);
System.out.println( "Frequenza = " + gestore.getFreqVo-
cali ( ) );
System.out.println( " \nSPAZI" );
System.out.println( "Numero = " + gestore.spazi);
System.out.println( "Frequenza = " + gestore.getFre-
qSpazi( ) );
}
}
Strutture di dati e File
Le strutture di dati dinamiche rappresentano un modo per poter organizzare i dati di cui a
priori non è nota la dimensione.
Le strutture di dati dinamiche hanno in comune la possibilità di adattarsi al variare della
dimensione dei dati da trattare e tra di loro si differenziano per il tipo di operazioni che
vengono eseguite sui dati. Le operazioni tipiche di queste strutture si dividono in:
• operazioni di modifica: inserimento ed eliminazione di un elemento dalla struttura;
• operazioni di interrogazione: ricerca di un certo elemento nella struttura, prelevamento
di un elemento con particolari caratteristiche (per esempio il primo elemento inserito),
conteggio del numero di elementi inseriti nella struttura.
Nota: Possono essere pensate anche in termini di “oggetti”, in quanto sono composte da
dati e da un insieme di operazioni che agiscono sui dati.
La realizzazione di strutture dinamiche comporta un’interazione continua con il gestore
della memoria per allocare nuove porzioni di memoria quando la struttura di dati cresce e
per deallocarle quando la struttura di dati si contrae.
La classe Vector, contenuta nelle librerie standard di Java, supporta le caratteristiche di
dinamicità e risulta molto utile per implementare le strutture di dati dinamiche.
La classe Vector mette a disposizione i metodi, tipici delle strutture di dati dinamiche, per
aggiungere gli elementi in fondo all’array e per prelevare o eliminare gli elementi in una
certa posizione.
Tra le strutture di classi dinamiche, troviamo la Pila e la Coda.
1352