HashMap
خريطة HashMap HashMap
HashMap تخزن أزواج (مفتاح، قيمة) وتسمح بالوصول السريع O(1) للمفتاح.
HashMap هي المجموعة الأشهر لتخزين البيانات المرتبطة بمفاتيح. تستخدم hashing لتحديد مكان كل عنصر في ذاكرة، فتكون الإضافة والبحث والحذف بتعقيد ثابت O(1) في المتوسط.
لا تضمن ترتيب العناصر. المفاتيح لا يمكن تكرارها — إذا أضفت مفتاحًا موجودًا، يُعاد تعيين قيمته.
الصياغة
HashMap<K, V> map = new HashMap<>(); map.put(key, value); map.get(key); map.containsKey(key); map.remove(key); map.size();
📄 مثال
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("سارة", 22);
ages.put("أحمد", 25);
ages.get("سارة"); // 22
ages.containsKey("محمد"); // false
ages.remove("أحمد");
ages.size(); // 1أهم النقاط
| العنصر | الوظيفة |
|---|---|
| put(K, V) | يُضيف زوج مفتاح-قيمة أو يُعيد تعيين القيمة |
| get(K) | يُرجع القيمة أو null إذا المفتاح غير موجود |
| containsKey(K) | يُرجع true إذا المفتاح موجود |
| getOrDefault(K, V) | يُرجع القيمة أو القيمة الافتراضية |
| keySet() | مجموعة المفاتيح |
| values() | كل القيم |
| entrySet() | كل الأزواج (مفتاح، قيمة) |
💡 نصائح عملية
- استخدم getOrDefault() بدل containsKey()随后 get() — أقصر وأسرع
- عند المرور على كل العناصر، استخدم entrySet() لتقليل عمليات البحث
⚠️ أخطاء شائعة
- استخدام null كمفتاح — ممكن لكن يسبب مشاكل مع 일부 التخزين وصعوبة في التتبع
- عدم استخدام hashCode() و equals() الصحيحة عند استخدام أصناف مخصصة كمفاتيح
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.