Ringkasan: HashMap
Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 15 dari 59.
Tantangan
MudahBuat method bernama processHashMap yang menerima HashMap<String, Integer> dan array berisi operasi String, lalu melakukan tindakan berikut:
1. Operasi GET
- Format:
"GET key" - Tindakan:
- Jika key ada: Cetak nilainya
- Jika key tidak ada: Cetak
"Not found"
2. Operasi CHECK
- Format:
"CHECK key" - Tindakan:
- Jika key ada: Cetak
"Exists" - Jika key tidak ada: Cetak
"Not found"
- Jika key ada: Cetak
3. Operasi MODIFY
- Format:
"MODIFY key targetValue" - Tindakan:
- Jika key ada DAN nilainya saat ini sama dengan targetValue: Gunakan
replace()untuk memperbarui nilai menjadi targetValue + 1 - Jika key ada TETAPI nilainya saat ini berbeda dari targetValue: Gunakan
remove()untuk menghapus key - Jika key tidak ada: Gunakan
put()untuk menambahkannya dengan targetValue sebagai nilainya
- Jika key ada DAN nilainya saat ini sama dengan targetValue: Gunakan
- Catatan: JANGAN mencetak apa pun selama operasi MODIFY
Output akhir:
Setelah memproses semua operasi, method harus mengembalikan HashMap yang telah diubah. Method main akan mencetaknya dalam format JSON.
Coba sendiri
// --- module untuk mengubah string hashmap menjadi 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) {
// Tulis kodemu di sini
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Ubah String dari HashMap menjadi HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
// Ubah String dari Array menjadi Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
HashMap<String, Integer> result = processHashMap(data, operations);
System.out.println(new Gson().toJson(result));
}
}
Semua pelajaran di Logika & Alur
1Array Multidimensi
Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRangkuman: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan Lebih JauhPola Umum Array 2DRangkuman: Semua tentang Array2HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapMengakses nilaiPeriksa apakah key adaMengubah dictionaryRingkasan: HashMap3HashMap Bagian 2
Method HashMapIterasi dengan keySet()Iterasi dengan entrySet()HashMap BersarangRangkuman: Kelola GudangRangkuman: Operasi HashMap6Alur Kontrol Lanjutan
Pernyataan LabelEkspresi SwitchPencocokan PolaKlausa PenjagaRingkasan Alur Kontrol9Proyek: Penghitung Kata Unik
Input dan Penyimpanan TeksPemrosesan KataLatihan sendiri: Compiler Java online