الدرس 39: العمل مع واجهة Map
الـ Map هي مجموعة تُستخدم لتخزين البيانات في أزواج (مفتاح-قيمة). وتوفر طريقة فعالة لاسترجاع قيمة بناءً على مفتاحها الفريد.
1. الخصائص الرئيسية للخرائط (Maps)
- يجب أن يكون كل مفتاح فريداً.
- يمكن أن تتكرر القيم.
- تُستخدم المفاتيح للبحث؛ والقيم هي البيانات المخزنة.
2. HashMap
- التنفيذ: تستخدم جدول التجزئة.
- الأداء: سريعة جداً (O(1)) لعمليات الإضافة والحصول والحذف.
- الترتيب: لا تضمن أي ترتيب.
java import java.util.HashMap; import java.util.Map;
Map<String, Integer> studentAges = new HashMap<>();
// إضافة العناصر studentAges.put("Charlie", 22); studentAges.put("Mia", 24); studentAges.put("Ben", 22); studentAges.put("Charlie", 23); // المفتاح يجب أن يكون فريداً، يستبدل القيمة القديمة
// استرجاع العناصر System.out.println("Mia's Age: " + studentAges.get("Mia"));
3. التكرار عبر Map
لا يمكن التكرار عبر الخرائط مباشرة. يجب الحصول على أحد العروض الثلاثة:
- Key Set: استخدم
map.keySet()للحصول علىSetلكل المفاتيح. - Values: استخدم
map.values()للحصول علىCollectionلكل القيم. - Entry Set: استخدم
map.entrySet()للحصول علىSetمن كائناتMap.Entry(الأكثر كفاءة للوصول للمفتاح والقيمة معاً).
java for (Map.Entry<String, Integer> entry : studentAges.entrySet()) { System.out.println(entry.getKey() + " is " + entry.getValue()); }
4. TreeMap
- تخزن المفاتيح في ترتيبها الطبيعي المفرز.
- أبطأ من
HashMapولكنها توفر تكراراً مرتباً.