Iterowanie za pomocą entrySet()
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 18 z 59.
Iterowanie za pomocą entrySet() oznacza uzyskanie zbioru obiektów Map.Entry z HashMap. Każdy obiekt Map.Entry udostępnia zarówno klucz, jak i odpowiadającą mu wartość, co zwiększa wydajność, ponieważ pozwala uniknąć dodatkowego wyszukiwania wymaganego przy użyciu keySet().
Utwórz HashMap:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);Iteruj za pomocą 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: 30Wyzwanie
ŁatwyUtwórz metodę o nazwie <strong>printInventoryEntrySet</strong>, która przyjmuje obiekt HashMap (z nazwami produktów jako kluczami i ilościami jako wartościami) z ciągu JSON odczytanego za pomocą Scanner. Twoja metoda powinna iterować po obiekcie HashMap, używając metody entrySet(), 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.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) {
// Napisz tutaj swój kod, używając entrySet()
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String inventoryString = scanner.nextLine();
// Przekształć ciąg JSON na HashMap<String, Integer>
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);
printInventoryEntrySet(inventory);
}
}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
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online