"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تكسير أساسيات HashMap: المفاهيم الأساسية لمطوري Java

تكسير أساسيات HashMap: المفاهيم الأساسية لمطوري Java

تم النشر بتاريخ 2024-11-06
تصفح:903

Cracking the Basics of HashMap: Key Concepts for Java Developers

مقدمة

يعد فهم فئة HashMap أمرًا ضروريًا للمطورين، سواء في التطبيقات أو المقابلات في العالم الحقيقي. في هذا المنشور، سنستكشف كيفية إدراج وتحديث وإدارة أزواج القيمة الرئيسية في HashMap. ستضع هذه المعرفة أيضًا الأساس لمقالتنا التالية، حيث سنتعمق في HashSet ونرى كيف ترتبط المجموعتان.


ما هو HashMap؟

تقوم HashMap بتخزين البيانات على شكل أزواج ذات قيمة رئيسية، مما يسمح بعمليات البحث والتحديثات والحذف الفعالة. وفيما يلي بعض الخصائص الهامة:

  • المفاتيح فريدة: إذا كان المفتاح موجودًا بالفعل، فسيتم استبدال القيمة .
  • يمكن تكرار القيم: يمكن تعيين نفس القيم لمفاتيح مختلفة.
  • متوسط ​​التعقيد الزمني لعمليات مثل put() وget() وremove() هو O(1).

دعونا نستكشف هذه السلوكيات بمزيد من التفاصيل من خلال مقتطفات التعليمات البرمجية.


1. إدراج أزواج القيمة الرئيسية باستخدام put()

تضيف طريقة put () زوجًا من القيمة الرئيسية إلى الخريطة. ومع ذلك، إذا كان المفتاح موجودًا بالفعل، فسيتم استبدال القيمة القديمة.

Map map = new HashMap();

// Insert two key-value pairs
map.put(1, 2);
map.put(2, 3);

توضيح:

هنا نقوم بإدراج إدخالين:

  • يعين المفتاح 1 القيمة 2
  • مفتاح 2 للقيمة 3

الآن، ماذا يحدث إذا حاولنا إدراج قيمة جديدة بنفس المفتاح؟


2. التعامل مع المفاتيح المكررة

// Replacing an existing value
map.put(2, 4); // Key 2 already exists, so the value is replaced.

المفتاح 2 موجود بالفعل بالقيمة 3، ولكن عندما نستدعي put(2, 4)، فإن القيمة الجديدة 4 تحل محل القيمة القديمة. هذا هو السلوك الافتراضي لـ HashMap.

لماذا يهم؟

في العديد من المواقف، قد لا ترغب في استبدال القيم إذا كان المفتاح موجودًا بالفعل - يمكن أن يؤدي ذلك إلى فقدان البيانات إذا لم يتم التعامل معه بعناية. في مثل هذه الحالات، يمكننا استخدام طريقة putIfAbsent().


3. منع عمليات الكتابة الفوقية باستخدام putIfAbsent()

// Ensuring value isn't replaced if key exists
map.putIfAbsent(2, 5);

تقوم طريقة putIfAbsent() بإدراج قيمة فقط إذا كان المفتاح المحدد غير موجود بالفعل في الخريطة. نظرًا لأن المفتاح 2 مرتبط بالفعل بالقيمة 4، فإن استدعاء الطريقة هنا ليس له أي تأثير.


4. طباعة الخريطة النهائية

System.out.println(map); // Output: {1=2, 2=4}

يظهر الإخراج أن المفتاح 2 يحتفظ بالقيمة 4 لأن putIfAbsent() لم يستبدل القيمة الموجودة.


ملخص الطرق الرئيسية

  1. put(مفتاح K، قيمة V): إدراج أو استبدال قيمة المفتاح المحدد.
  2. putIfAbsent(مفتاح K, قيمة V): يدرج القيمة فقط في حالة عدم وجود المفتاح.

خاتمة

تعد فئة HashMap أداة قوية في Java لتخزين أزواج القيمة الرئيسية، ولكن من المهم فهم سلوكها مع المفاتيح المكررة. معرفة متى تستخدم put() مقابل putIfAbsent() يمكن أن تساعدك على تجنب فقدان البيانات وكتابة تعليمات برمجية فعالة. مع O(1) متوسط ​​التعقيد الزمني للعمليات الأساسية، يعد HashMap خيارًا مفضلاً للعديد من المهام الحرجة للأداء.

ترقبوا المنشور التالي، حيث سنستكشف HashSet وكيف يضمن التفرد باستخدام HashMap داخليًا!


المشاركات ذات الصلة

  • أساسيات جافا

  • أساسيات مقابلة المصفوفة

  • أساسيات ذاكرة جافا

تعليمات سعيدة!

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/arshisaxena26/cracking-the-basics-of-hashmap-ke-ncepts-for-java-developers-3ghb؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3