Mengubah dictionary
Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 14 dari 59.
HashMap juga mendukung penghapusan dan pembaruan entri menggunakan method put(), remove(), dan replace().
Sebagai contoh, mari isi HashMap terlebih dahulu:
HashMap<String, String> users = new HashMap<>();
users.put("alice", "Admin");
users.put("bob", "User");Untuk menghapus sebuah kunci:
users.remove("bob"); // Menghapus "bob"
System.out.println(users);
// {alice=Admin}Untuk memperbarui sebuah key:
users.replace("alice", "Guest");
// Memperbarui alice menjadi Guest
users.replace("Charlie", "Admin");
// Tidak melakukan apa-apa (key "Charlie" tidak ada)Tantangan
MudahTulis method bernama modifyMap yang mengubah HashMap berdasarkan kondisi tertentu.
- Menerima HashMap bernama
datadengan ketentuan:- Key bertipe
String. - Nilai bertipe
Integer.
- Key bertipe
- Menerima String
key. - Menerima Integer
newValue.
Method tersebut harus mengembalikan HashMap yang sudah diperbarui dengan mengikuti ketentuan berikut:
- Jika key ada di
datadan memiliki nilai yang sama dengannewValue, gunakanreplace(), tetapi tingkatkan nilainya sebanyak 1. - Jika key ada, tetapi memiliki nilai yang berbeda, hapus key tersebut.
- Jika key tidak ada, tambahkan key tersebut dengan nilai
newValue.
Coba sendiri
// --- module untuk mengubah string dari 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> modifyMap(HashMap<String, Integer> data, String key, int newValue) {
// Tulis kodemu di sini
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String key = scanner.nextLine();
int newValue = scanner.nextInt();
// Ubah String dari HashMap menjadi HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
HashMap<String, Integer> result = modifyMap(data, key, newValue);
System.out.println(new Gson().toJson(result));
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
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