Menu
Coddy logo textTech

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)
challenge icon

Görev

Kolay

Adı <strong>modifyMap</strong> olan, belirli koşullara göre verilen bir HashMap'i değiştiren bir metot yazın.

  1. data adında bir HashMap alır, şu özelliklere sahip:
    • Anahtarlar String tipindedir.
    • Değerler Integer tipindedir.
  2. Bir String key alır.
  3. Bir Integer newValue alır.

Metot, aşağıdaki adımları izleyerek güncellenmiş HashMap'i döndürmelidir:

  • data'da anahtar varsa ve newValue ile 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 pair

Bir değeri güncelleme/değiştirme:

users.replace("alice", "Guest"); // Updates existing key
users.replace("nonexistent", "Admin"); // Does nothing if key doesn't exist

Bir anahtar ekleme veya güncelleme:

users.put("newUser", "Admin"); // Adds new key or updates existing

Kendin 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));
    }
}
quiz iconKendini test et

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