Menu
CoddyTech

Итерация с keySet()

Часть раздела Логика и управление потоком путешествия по Java на Coddy. Урок 17 из 59.

Итерация с помощью keySet() означает, что вы получаете набор всех ключей в HashMap, а затем используете метод get(), чтобы получить соответствующие значения. Это просто и хорошо работает для небольших отображений.

Сначала создайте HashMap товаров:

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

Теперь выполните итерацию с помощью 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

Задание

Легко

Создай метод с именем printInventoryKeySet, который принимает HashMap (где ключи — названия продуктов, а значения — их количество), полученный из строки JSON, прочитанной с помощью Scanner. Твой метод должен перебирать HashMap с помощью метода keySet() и выводить каждую пару ключ-значение в формате:

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

Попробуйте сами

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) {
        // Напишите здесь свой код, используя keySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Считайте входную строку JSON, представляющую HashMap с запасами
        String inventoryString = scanner.nextLine();

        // Преобразуйте строку JSON в HashMap<String, Integer>
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryKeySet(inventory);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Java