HashMap
Cosa e una HashMap
Sezione intitolata “Cosa e una HashMap”Una HashMap collega una chiave a un valore.
Pensala come un piccolo dizionario:
- chiave: parola
- valore: significato
Oppure come una rubrica:
- chiave: nome
- valore: numero di telefono
Prima devi importarla:
import java.util.HashMap;Creare una HashMap
Sezione intitolata “Creare una HashMap”import java.util.HashMap;
public class Rubrica { public static void main(String[] args) { HashMap<String, String> telefoni = new HashMap<>();
telefoni.put("Luca", "3331234567"); telefoni.put("Sara", "3337654321");
System.out.println(telefoni); }}HashMap<String, String> significa: chiavi di tipo String, valori di tipo String.
Aggiungere con put
Sezione intitolata “Aggiungere con put”Usa put per aggiungere una coppia chiave-valore.
HashMap<String, Integer> eta = new HashMap<>();
eta.put("Luca", 20);eta.put("Sara", 25);Se usi una chiave gia presente, il valore viene sostituito.
eta.put("Luca", 21);Ora "Luca" vale 21.
Leggere con get
Sezione intitolata “Leggere con get”Usa get per recuperare il valore associato a una chiave.
HashMap<String, Integer> eta = new HashMap<>();eta.put("Luca", 20);
System.out.println(eta.get("Luca"));Output:
20Se la chiave non esiste, get restituisce null.
Controllare se una chiave esiste
Sezione intitolata “Controllare se una chiave esiste”Prima di leggere, puoi usare containsKey.
HashMap<String, Integer> eta = new HashMap<>();eta.put("Luca", 20);
if (eta.containsKey("Mina")) { System.out.println(eta.get("Mina"));} else { System.out.println("Mina non e presente.");}Output:
Mina non e presente.Rimuovere una chiave
Sezione intitolata “Rimuovere una chiave”Usa remove.
HashMap<String, Integer> eta = new HashMap<>();eta.put("Luca", 20);eta.put("Sara", 25);
eta.remove("Luca");
System.out.println(eta);Output:
{Sara=25}Attraversare le chiavi
Sezione intitolata “Attraversare le chiavi”Puoi leggere tutte le chiavi con keySet().
HashMap<String, Integer> eta = new HashMap<>();eta.put("Luca", 20);eta.put("Sara", 25);
for (String nome : eta.keySet()) { System.out.println(nome + ": " + eta.get(nome));}Output possibile:
Luca: 20Sara: 25L’ordine non e garantito. Una HashMap serve a cercare per chiave, non a mantenere un ordine preciso.
Esempio: prezzi dei prodotti
Sezione intitolata “Esempio: prezzi dei prodotti”import java.util.HashMap;
public class Prezzi { public static void main(String[] args) { HashMap<String, Double> prezzi = new HashMap<>();
prezzi.put("pane", 1.50); prezzi.put("latte", 1.20); prezzi.put("pasta", 0.90);
String prodotto = "latte";
if (prezzi.containsKey(prodotto)) { System.out.println("Prezzo: " + prezzi.get(prodotto)); } else { System.out.println("Prodotto non trovato."); } }}HashMap e utile quando vuoi cercare rapidamente un valore partendo da una chiave.