Menu
Coddy logo textTech

Mit entrySet() iterieren

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 18 von 59.

Iterieren mit entrySet() bedeutet, eine Menge von Map.Entry-Objekten aus der HashMap zu erhalten. Jeder Map.Entry liefert sowohl den Schlüssel als auch den zugehörigen Wert, was es effizienter macht, da die zusätzliche Suche vermieden wird, die bei keySet() erforderlich ist.

Erstellen Sie eine HashMap:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

Iterieren Sie mit entrySet():

for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
   System.out.println("Product: " +
   entry.getKey() + ", Quantity: " +
   entry.getValue());
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30
challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens <strong>printInventoryEntrySet</strong>, die eine HashMap (mit Produktnamen als Schlüsseln und Mengen als Werten) aus einem über einen Scanner gelesenen JSON-String akzeptiert. Ihre Methode sollte die HashMap mithilfe der Methode entrySet() durchlaufen und jedes Schlüssel-Wert-Paar im folgenden Format ausgeben:

Product: <product name>, Quantity: <quantity>

Spickzettel

Verwenden Sie entrySet(), um über eine HashMap zu iterieren und effizient auf sowohl Schlüssel als auch Werte zuzugreifen:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
   System.out.println("Product: " +
   entry.getKey() + ", Quantity: " +
   entry.getValue());
}

Jedes Map.Entry-Objekt bietet:

  • entry.getKey() – gibt den Schlüssel zurück
  • entry.getValue() – gibt den Wert zurück

Dieser Ansatz ist effizienter als die Verwendung von keySet(), da er zusätzliche Suchvorgänge vermeidet.

Probier es selbst

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void printInventoryEntrySet(HashMap<String, Integer> inventory) {
        // Schreibe deinen Code hier unter Verwendung von entrySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String inventoryString = scanner.nextLine();

        // Konvertiere JSON-String in HashMap<String, Integer>
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryEntrySet(inventory);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf