الفرق بين HashMap و TreeMap

جدول المحتويات:

الفرق بين HashMap و TreeMap
الفرق بين HashMap و TreeMap

فيديو: الفرق بين HashMap و TreeMap

فيديو: الفرق بين HashMap و TreeMap
فيديو: الفرق بين hashmap و treemap 2024, شهر نوفمبر
Anonim

الفرق الرئيسي - HashMap مقابل TreeMap

في البرمجة ، هناك آليات مختلفة لجمع البيانات. المجموعات هي إحدى طرق تخزين البيانات. لغات البرمجة مثل Java تستخدم المجموعات. إنه إطار عمل به فئات وواجهات لتخزين ومعالجة مجموعة من عناصر البيانات. في المصفوفة العادية ، يوجد عدد ثابت من العناصر للتخزين. هذا هو وجود قيود على المصفوفات. بدلاً من ذلك ، يمكن للمبرمج استخدام المجموعات. يمكن إجراء عمليات مثل الإدراج والحذف والفرز والبحث باستخدام المجموعات. في Java ، تنتمي واجهة الخريطة إلى المجموعات. تُستخدم الخريطة لتمثيل البيانات في أزواج المفتاح والقيمة.لا يوجد سوى مفاتيح فريدة ، ولكل منها قيمة مقابلة. HashMap و TreeMap عبارة عن فئات تقوم بتنفيذ واجهة الخريطة. HashMap عبارة عن فئة تجميع تستند إلى الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي لا تحتفظ بترتيب معين في عناصر البيانات. إن TreeMap عبارة عن فئة تجميع تستند إلى الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي تحافظ على الترتيب التصاعدي لعناصر البيانات. يتمثل الاختلاف الرئيسي بين HashMap و TreeMap في أن HashMap لا يحتفظ بترتيب معين في عناصر البيانات بينما يحتفظ TreeMap بالترتيب التصاعدي لعناصر البيانات.

ما هي HashMap؟

HashMap هي فئة تنفذ واجهة الخريطة. يقوم بتوسيع فئة AbstractMap وتنفيذ واجهة Map. يحتوي HashMap على أزواج المفتاح والقيمة. كل عنصر فريد من نوعه. من السهل العثور على العناصر في HashMap باستخدام المفتاح. إعلان HashMap كما يلي.

فئة عامة HashMap توسع AbstractMap تنفذ Map ، Cloneable ، Serializable

يشير K إلى المفتاح بينما يشير V إلى القيمة المقابلة لهذا المفتاح المحدد. كل مفتاح ، زوج قيم هو إدخال في HashMap.

الفرق بين HashMap و TreeMap
الفرق بين HashMap و TreeMap

الشكل 01: واجهة الخريطة

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

الفرق بين HashMap و TreeMap _F الشكل 02
الفرق بين HashMap و TreeMap _F الشكل 02

الشكل 02: برنامج HashMap باستخدام Java

وفقًا للبرنامج أعلاه ، يتم إنشاء كائن HashMap.ثم يمكن للمبرمج إضافة عناصر باستخدام هذا الكائن. يمكن إدخال القيم باستخدام طريقة put. لجلب القيم ، يجب على المبرمج استخدام طريقة get مع المفتاح. عند استخدام studentList.get ("150") ؛ سيطبع الاسم المقابل لهذا الفهرس وهو Ann. إذا أراد المبرمج الحصول على جميع القيم ، فيمكنه استخدام Map. Entry لطباعة جميع المفاتيح والقيم. عند مراقبة المخرجات ، يمكن ملاحظة أن HashMap لا تحتفظ بترتيب معين. لا يطبع العناصر بالترتيب المدرج. يتم طباعة العناصر بترتيب عشوائي.

ما هو TreeMap؟

TreeMap هي فئة في Java تنفذ واجهة الخريطة. على غرار HashMap ، يتم استخدامه أيضًا لتخزين أزواج المفاتيح والقيمة ولكن بترتيب تصاعدي. يقوم TreeMap بتنفيذ NavigableMap و NavigableMap يمتد SortedMap و SortedMap يوسع الخريطة. كل عنصر فريد من نوعه. إعلان خريطة الشجرة كما يلي.

فئة عامة TreeMap يمتد AbstractMap لتنفيذ NavigableMap ، Cloneable ، Serializable

يشير K إلى المفتاح بينما يشير V إلى القيمة المقابلة لهذا المفتاح المحدد. كل مفتاح ، زوج قيم هو إدخال لخريطة الشجرة.

الفرق الرئيسي بين HashMap و TreeMap
الفرق الرئيسي بين HashMap و TreeMap

الشكل 03: برنامج TreeMap باستخدام Java

وفقًا للبرنامج أعلاه ، يتم إنشاء كائن TreeMap. ثم يمكن للمبرمج إضافة عناصر باستخدام هذا الكائن. يمكن إدخال القيم باستخدام طريقة put. لجلب القيم ، يجب على المبرمج استخدام طريقة get مع المفتاح. عند استخدام studentList.get ("150") ؛ سيطبع الاسم المقابل لهذا الفهرس وهو Ann. إذا أراد المبرمج الحصول على جميع القيم ، فيمكنه استخدام Map. Entry لطباعة جميع المفاتيح والقيم. عند مراقبة الإخراج ، يمكن ملاحظة أن TreeMap تحتفظ بترتيب معين. العناصر مطبوعة بترتيب تصاعدي

ما هي أوجه التشابه بين HashMap و TreeMap؟

  • يقوم كل من HashMap و TreeMap بتنفيذ واجهة الخريطة.
  • يمكن لكل من HashMap و TreeMap تخزين العديد من العناصر ومعالجتها.
  • يحتوي كل من HashMap و TreeMap على أزواج المفتاح والقيمة.
  • يمكن أن يحتوي كل من HashMap و TreeMap على العديد من القيم الخالية.
  • لا توجد قيود على عدد العناصر التي يمكن تخزينها في كل من HashMap و TreeMap.

ما هو الفرق بين HashMap و TreeMap؟

HashMap مقابل TreeMap

A HashMap عبارة عن فئة تجميع تستند إلى الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي لا تحتفظ بترتيب معين في عناصر البيانات. خريطة شجرة هي فئة تجميع تعتمد على الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي تحافظ على الترتيب التصاعدي لعناصر البيانات.
الأمر
لا تحتفظ HashMap بالترتيب. يحافظ TreeMap على الترتيب التصاعدي.
مفتاح فارغ
يمكن أن تحتوي HashMap على مفتاح واحد فارغ. لا يمكن أن يحتوي TreeMap على مفتاح فارغ.
الأداء
HashMap أسرع من TreeMap. TreeMap أبطأ من HashMap.

ملخص - HashMap مقابل TreeMap

تحتوي لغات البرمجة مثل Java على إطار عمل المجموعة. في المصفوفات ، يمكن أن يكون هناك عدد ثابت من العناصر. لذلك ، يجب تهيئة حجم الصفيف في البداية. في المجموعات ، يمكن للمبرمج تخزين العديد من العناصر كما هو مطلوب.لا يوجد مبلغ محدد للتخزين. الخريطة هي واجهة تنتمي إلى إطار المجموعة. HashMap عبارة عن فئة تجميع تستند إلى الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي لا تحتفظ بترتيب معين في عناصر البيانات. إن TreeMap عبارة عن فئة تجميع تستند إلى الخريطة تُستخدم لتخزين أزواج المفاتيح والقيمة التي تحافظ على الترتيب التصاعدي لعناصر البيانات. ناقشت هذه المقالة الفرق بين HashMap و TreeMap الذي يقوم بتنفيذ واجهة الخريطة. الفرق بين HashMap و TreeMap هو أن HashMap لا يحتفظ بترتيب معين في عناصر البيانات بينما يحتفظ TreeMap بالترتيب التصاعدي لعناصر البيانات.

موصى به: