Accedere ai valori
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 12 di 59.
In una HashMap, ogni chiave è associata a un valore. Per accedere a un valore, usa il metodo get() e fornisci la chiave.
HashMap restituisce quindi il valore associato a quella chiave. Se la chiave non esiste in HashMap, il metodo get() restituisce null.
Ecco la sintassi di base:
ValueType value = mapName.get(key);mapName: Il nome dellaHashMap.key: La chiave il cui valore associato vuoi recuperare.ValueType: Il tipo di dato del valore.
Per esempio, definiamo prima HashMap:
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);E ora per recuperare questi valori:
Integer aliceAge = ages.get("Alice");
// Età di Alice: 30
Integer charlieAge = ages.get("Charlie");
// Età di Charlie: nullIn questo esempio, recuperiamo l'età di Alice usando la chiave "Alice". Poiché "Charlie" non è una chiave nella HashMap, charlieAge è null.
Sfida
FacileCrea un metodo chiamato getCapital che accetta due argomenti:
- Una
HashMapchiamatacapitalsin cui le chiavi sono nomi di paesi (stringhe) e i valori sono nomi di capitali (stringhe). - Una stringa
countryche rappresenta il nome di un paese.
Il metodo deve restituire la capitale del paese specificato accedendo alla HashMap capitals. Se il paese non viene trovato nella HashMap, restituisci "Not found".
Provalo tu
// --- Moduli per convertire una stringa di hashmap in un hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static String getCapital(HashMap<String, String> capitals, String country) {
// Scrivi il tuo codice qui sotto
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String country = scanner.nextLine();
// Converti una String di HashMap in HashMap
Type mapType = new TypeToken<HashMap<String, String>>(){}.getType();
HashMap<String, String> countryCapitals = new Gson().fromJson(hashMapString, mapType);
String result = getCapital(countryCapitals, country);
System.out.println(result);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online