Sözlükleri Değiştirme
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 14 / 59.
HashMap'ler ayrıca anahtarları kaldırma ve bunları güncelleme yöntemlerini put(), remove() ve replace() destekler.
Örneğin, önce bir HashMap'i dolduralım:
HashMap<String, String> users = new HashMap<>();
users.put("alice", "Admin");
users.put("bob", "User");Bir anahtarı kaldırmak için:
users.remove("bob"); // Removes "bob"
System.out.println(users);
// {alice=Admin}Bir anahtarı güncellemek için:
users.replace("bob", "Guest");
// Updates bob to Guest
users.replace("Charlie", "Admin");
// Does nothing (key "Charlie" doesn't exist)Görev
KolayAdı <strong>modifyMap</strong> olan, belirli koşullara göre verilen bir HashMap'i değiştiren bir metot yazın.
dataadında bir HashMap alır, şu özelliklere sahip:- Anahtarlar
Stringtipindedir. - Değerler
Integertipindedir.
- Anahtarlar
- Bir String
keyalır. - Bir Integer
newValuealır.
Metot, aşağıdaki adımları izleyerek güncellenmiş HashMap'i döndürmelidir:
data'da anahtar varsa venewValueile aynı değere sahipse,<strong>replace()</strong>kullanın ancak değeri 1 artırın.- Anahtar varsa ancak farklı bir değere sahipse, onu kaldırın.
- Anahtar yoksa,
<strong>newValue</strong>ile ekleyin.
Kopya kağıdı
HashMap veri değiştirme yöntemleri:
Bir anahtarı kaldırma:
users.remove("bob"); // Removes "bob" key-value pairBir değeri güncelleme/değiştirme:
users.replace("alice", "Guest"); // Updates existing key
users.replace("nonexistent", "Admin"); // Does nothing if key doesn't existBir anahtar ekleme veya güncelleme:
users.put("newUser", "Admin"); // Adds new key or updates existingKendin dene
// --- Hashmap string'ini hashmap'e dönüştürmek için modüller ---
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) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String key = scanner.nextLine();
int newValue = scanner.nextInt();
// HashMap String'ini HashMap'e dönüştür
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));
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme