Menu
CoddyTech

التكرار باستخدام entrySet()

جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 18 من 59.

التكرار باستخدام entrySet() يعني الحصول على مجموعة من كائنات Map.Entry من HashMap. يوفّر كل Map.Entry المفتاح والقيمة المقابلة له، مما يجعله أكثر كفاءة لأنه يتجنب البحث الإضافي المطلوب عند استخدام keySet().

أنشئ HashMap:

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

كرّر باستخدام 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

التحدي

سهل

أنشئ method باسم printInventoryEntrySet تقبل HashMap (تكون أسماء المنتجات فيها مفاتيح والكميات قيمًا) من سلسلة JSON مقروءة باستخدام Scanner. ينبغي أن تكرّر طريقتك على HashMap باستخدام method entrySet() وتطبع كل زوج من مفتاح وقيمة بالتنسيق التالي:

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

جرّب بنفسك

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) {
        // اكتب شيفرتك هنا باستخدام entrySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        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);

        printInventoryEntrySet(inventory);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت