Menu
Coddy logo textTech

Iterowanie za pomocą keySet()

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 17 z 59.

Iterowanie za pomocą keySet() oznacza uzyskanie zbioru wszystkich kluczy w HashMap, a następnie użycie metody get(), aby pobrać odpowiadające im wartości. To proste rozwiązanie, które dobrze sprawdza się w przypadku małych map.

Najpierw utwórz HashMap produktów:

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

Teraz iteruj za pomocą keySet():

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " +
   product + ", Quantity: " + quantity);
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30
challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie <strong>printInventoryKeySet</strong>, która przyjmuje obiekt HashMap (w którym kluczami są nazwy produktów, a wartościami ilości) z ciągu JSON odczytanego za pomocą Scanner. Twoja metoda powinna iterować po obiekcie HashMap, używając metody keySet(), i wypisywać każdą parę klucz-wartość w formacie:

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

Spróbuj swoich sił

import java.util.HashMap;
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 printInventoryKeySet(HashMap<String, Integer> inventory) {
        // Wpisz tutaj swój kod, używając keySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Wczytaj wejściowy ciąg JSON reprezentujący HashMap z inwentarzem
        String inventoryString = scanner.nextLine();

        // Przekonwertuj ciąg JSON na HashMap<String, Integer>
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryKeySet(inventory);
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online