This commit is contained in:
Emanuele Slusarz
2026-05-11 17:35:58 +02:00
parent 29ef5b6655
commit e4d2eb3ab8
1264 changed files with 30997 additions and 136657 deletions
+69
View File
@@ -0,0 +1,69 @@
package parziale.p191108;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
public class Archivio {
// Variabili di instanza
private Map<String, Cliente> archivio = new HashMap<String, Cliente>();
// Metodi
// 2. Inserimento nell'archivio
/*
* Inserimento nell'archio attuale di una nuova associazione,
* dati la targa dell'automobile(String) e un riferimento al proprietario
* della classe Cliente: se l'automobile è già presente, si aggiorni l'informazione
* relativa al proprietario
*/
public void aggiungi(String targa, Cliente cliente) {
if (targa == null || cliente == null) throw new NullPointerException();
targa = targa.trim();
if (targa.isEmpty()) throw new IllegalArgumentException();
archivio.put(targa, cliente);
}
// 3. Cancellazione dall'archivio attuale di un'automobile, data la sua targa
public void remove(String targa) {
if (targa == null) throw new NullPointerException();
targa.trim();
if (targa.isEmpty()) throw new IllegalArgumentException();
archivio.remove(targa);
}
// 4. Creazione di un nuovo archivio contenete le automobili selezionate dall'archivio principale aventi il proprietario residente in una data città.
public Map<String, Cliente> creaArchivoPerCitta(String citta) {
if (citta == null) throw new NullPointerException();
HashMap<String, Cliente> autoSelezionate = new HashMap<String, Cliente>();
for (String s : archivio.keySet()) {
Cliente currentCliente = archivio.get(s);
String currentCitta = currentCliente.cittaResidenza();
if (currentCitta.equals(citta)) autoSelezionate.put(s, currentCliente);
}
return autoSelezionate;
}
// 5. Ordinamento dellarchivio in modo lessicografico crescente rispetto alla targa delle automobili
public Map<String, Cliente> archivioOrdinatoRispettoAllaTarga() {
TreeMap<String, Cliente> archivioOrdinato = new TreeMap<String, Cliente>(archivio);
return archivioOrdinato;
}
// 6. Stampa su video l'archivio attuale
public void stampaArchivio() {
System.out.println(archivio);
}
}
+39
View File
@@ -0,0 +1,39 @@
package parziale.p191108;
import java.util.Objects;
public class Cliente {
// Variabili di instanza
private String nominativo;
private String cf;
private String cittaResidenza;
// Costruttore
public Cliente(
String nominativo,
String cf,
String cittaResidenza) {
this.nominativo = nominativo;
this.cf = cf;
this.cittaResidenza = cittaResidenza;
}
// Getters
public String nominativo() {
return nominativo;
}
public String cf() {
return cf;
}
public String cittaResidenza() {
return cittaResidenza;
}
// Hash
public int hashCode() {
return Objects.hash(nominativo, cf, cittaResidenza);
}
}