Riepilogo - HashMap
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 15 di 59.
Sfida
FacileCrea un metodo chiamato processHashMap che accetta un HashMap<String, Integer> e un array di operazioni String, quindi esegue le seguenti azioni:
1. Operazione GET
- Formato:
"GET key" - Azione:
- Se la chiave esiste: stampa il valore
- Se la chiave non esiste: stampa
"Not found"
2. Operazione CHECK
- Formato:
"CHECK key" - Azione:
- Se la chiave esiste: stampa
"Exists" - Se la chiave non esiste: stampa
"Not found"
- Se la chiave esiste: stampa
3. Operazione MODIFY
- Formato:
"MODIFY key targetValue" - Azione:
- Se la chiave esiste E il suo valore attuale è uguale a targetValue: usa
replace()per aggiornare il valore a targetValue + 1 - Se la chiave esiste MA il suo valore attuale è diverso da targetValue: usa
remove()per eliminare la chiave - Se la chiave non esiste: usa
put()per aggiungerla con targetValue come valore
- Se la chiave esiste E il suo valore attuale è uguale a targetValue: usa
- Nota: NON stampare nulla durante le operazioni MODIFY
Output finale:
Dopo aver elaborato tutte le operazioni, il metodo deve restituire l'HashMap modificato. Il metodo main lo stamperà in formato JSON.
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 HashMap<String, Integer> processHashMap(HashMap<String, Integer> data, String[] operations) {
// Scrivi il tuo codice qui
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Converti una String di HashMap in HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
// Converti una String di Array in Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
HashMap<String, Integer> result = processHashMap(data, operations);
System.out.println(new Gson().toJson(result));
}
}
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