INFO - Strutture Dati
INFO - Strutture Dati
STRUTTURE DATI
30 marzo 2023
Tipi di strutture dati e quando usarle
La libreria standard di Java fornisce una serie di classi che consentono di lavorare con
gruppi di oggetti (COLLEZIONI), divise in
List<>
Metodi
- add(E e): aggiunge elemento alla fine dell’elenco
- add(int index, E e): inserisce nella posizione specifica dell’elenco
- clear(): rimuove tutti gli elementi
- contains(Object o): restituisce true se l’elemento esiste
- equals(Object o): confrontare l’oggetto con quello dell’elenco specificato
- get(int index): restituisce l’elemento all’indirizzo specificato
- indexOf(Object o): restituisce l’indice dell’elemento specificato
- isEmpty(): TRUE se l’elenco è vuoto
- iterator(): restituisce l’iteratore sugli elementi in questo elenco
- remove(Object o): rimuove l’oggetto specificato
- remove(int index ) : rimuove l’oggetto nella posizione specificata
- size()
1
- toArray(): restituisce un array contenente tutti gli elementi di questo elenco nella
sequenza corretta
- toArray(T[] a): restituisce un array contenente tutti gli elementi di questo elenco nella
sequenza corretta; il tipo dell’array restituito è quello specificato
LinkedList<>
è l’implementazione di List<>
Metodi in più rispetto a List<>
- clone(): consente di ricevere una copia dell’elemento
- getFirst(): ritorna il primo elemento della lista
- getLast(): ritorna l’ultimo elemento della lista
- offerLast(E e): inserisce l’elemento nell’ultima posizione nella lista
- offerFirst(E e): inserisce l’elemento nella prima posizione della lista
- peek(): restituisce il primo elemento della lista
- removeLast(): rimuove e ritorna l’ultimo elemento della lista
-
Iteratore
oggetto di supporto per accedere agli elementi di una collezione, uno alla volta e in
sequenza. Consente di eliminare elementi mentre lo si scorre e di bloccarne la scansione
Un oggetto che rende disponibili metodi per accedere sequenzialmente ai singoli elementi
dell’oggetto aggregato senza esporne la rappresentazione interna.
Metodi
2
}
esempio con parametri
for(String codice: map.values()){}
HASHMAP
- clear()
- add(T e)
- contains(Object e )
- isEmpty()
- clone()
- entrySet(): ritorna una “vista” di raccolta delle mappature contenute in una mappa
- keySet(): ritorna una vista di set delle chiavi contenute in questa mappa
- put(Object key, Object value): per inserire un elemento nella mappa
- putifAbsent(Object key, Object value): per inserire un elemento nella mappa solo
se non presente
- remove()
- containsValue(Object value): se esiste il value specificato
- containskey(Object key)
- equals()
- get(Object key): ritorna l’elemento associato alla chiave specificata
- isEmpty()
- replace(Object key, object value ): sostituisce il valore con quello nella chiave
specificata
- toArray(): esporta gli elementi della collezione in un array di elementi di tipo Object
- toArray(T a[]): esporta gli elementi dalla collezione in un array di tipo T
- values(): ritorna la vista di collezione dei values nella mappa
- size()
contiene metodi utili per l’elaborazione di collezioni di qualunque tipo: per ordinare, calcolo
massimo e minimo, contronto…
lettura da file
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
mappa.put(data[0],n );
} catch (IOException e) {
3
e.printStackTrace();
Serializzazione
try (ObjectOutputStream os = new ObjectOutputStream(new
FileOutputStream("NazioniCapitali.ser"));) {
os.writeObject(mappa);
} catch (Exception e) {
e.printStackTrace();
Deserializzazione
mappaSer = new HashMap<String, Nazioni>();
try {
is.close();
} catch (Exception e) {
e.printStackTrace();