Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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

جزء من قسم Logic & Flow في رحلة 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

التحدي

سهل

قم بإنشاء دالة باسم <strong>printInventoryKeySet</strong> تقبل HashMap (حيث المفاتيح هي أسماء المنتجات والقيم هي الكميات) من سلسلة JSON نصية يتم قراءتها عبر Scanner. يجب أن تقوم الدالة بالتكرار عبر HashMap باستخدام دالة keySet() وطباعة كل زوج (مفتاح-قيمة) بالتنسيق التالي:

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

ورقة مرجعية

استخدم keySet() للتكرار عبر مفاتيح HashMap و get() لجلب القيم المقابلة:

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

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " + product + ", 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اختبر نفسك

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

جميع دروس Logic & Flow