مقدمة موجزة إلى TreeMap في Java مع أمثلة



ستزودك هذه المقالة بمعرفة مفصلة وشاملة عن TreeMap في Java مع أمثلة للطرق والمنشئات.

يعد تنفيذ واجهة Map في Java مهمة مهمة للغاية. لهذا الغرض ، لدينا خريطة الشجرة و خريطة التجزئة . في هذه المقالة سيكون تركيزنا على TreeMap بتنسيق في الترتيب التالي:

ما هو TreeMap في جافا؟

يتم استخدام TreeMap في Java لتنفيذ واجهة Map و NavigableMap جنبًا إلى جنب مع فئة Abstract. يتم فرز الخريطة وفقًا للترتيب الطبيعي لمفاتيحها ، أو بواسطة أداة المقارنة المتوفرة في وقت إنشاء الخريطة ، اعتمادًا على المُنشئ المستخدم. هذا يثبت أنه طريقة فعالة لفرز وتخزين أزواج المفتاح والقيمة.





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

ميزات TreeMaps

  • هذه الفئة هي عضو في Java Collections Framework.



  • تقوم الفئة بتنفيذ واجهات Map بما في ذلك NavigableMap و SortedMap وتوسيع AbstractMap

  • لا يسمح TreeMap في Java بالمفاتيح الفارغة (مثل Map) وبالتالي يتم طرح NullPointerException. ومع ذلك ، يمكن ربط قيم فارغة متعددة بمفاتيح مختلفة.

  • جميع أزواج Map.Entry التي تم إرجاعها بواسطة عمليات في هذا الفصل وتمثل عروضها لقطات من التعيينات في وقت إنتاجها.



  • أنها لا تدعم أسلوب Entry.setValue.

نقاط مهمة يجب تذكرها

  1. بصرف النظر عن تنفيذ واجهة الخريطة ، تقوم Java TreeMap أيضًا بتنفيذ NavigableMap وتنفذ بشكل غير مباشر واجهة SortedMap. تقوم TreeMap أيضًا بتوسيع فئة AbstractMap.

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

    تسلسل فيبوناتشي في ++ C
  3. يوفر تطبيق Java TreeMap تكلفة زمنية مضمونة لسجل (اسم) لعمليات احتواء مفتاح ، والحصول على ، ووضع وإزالة.

  4. TreeMap غير متزامن وبالتالي فهو غير آمن لمؤشر الترابط. بالنسبة للبيئات متعددة مؤشرات الترابط ، يمكنك الحصول على ملف متزامن باستخدام طريقة Collections.synchronizedSortedMap.

  5. تقوم طرق TreeMap للحصول على مجموعة المفاتيح والقيم بإرجاع التكرار الذي يتميز بسرعة الفشل بطبيعته ، لذا فإن أي تعديل متزامن سيؤدي إلى ظهور ConcurrentModificationException.

  6. لا يسمح TreeMap في جافا بالمفاتيح الفارغة ، ومع ذلك ، يمكن أن يكون لديك عدة قيم فارغة مرتبطة بمفاتيح مختلفة.

البناة في TreeMap

باني وصف
TreeMap () ينشئ مخططًا هيكليًا فارغًا سيتم فرزه باستخدام الترتيب الطبيعي لمفاتيحه.
TreeMap (شركات المقارنة) يُنشئ خريطة فارغة مستندة إلى شجرة سيتم فرزها باستخدام Comp Comparator comp.
TreeMap (خريطة م) يقوم بتهيئة مخطط شبكي بإدخالات من m ، والتي سيتم فرزها باستخدام الترتيب الطبيعي للمفاتيح.
TreeMap (SortedMap sm) يقوم بتهيئة مخطط شبكي بإدخالات من SortedMap sm ، والتي سيتم فرزها بنفس ترتيب sm.

الطرق في TreeMap

طريقة وصف
باطل واضح () يزيل كافة التعيينات من TreeMap.
استنساخ الكائن () إرجاع نسخة ضحلة من مثيل TreeMap هذا.
مقارنة المقارنة () تُرجع المقارنة المستخدمة في طلب هذه الخريطة ، أو تُرجع القيمة الفارغة إذا كانت هذه الخريطة تستخدم الترتيب الطبيعي لمفاتيحها.
منطقي يحتوي على مفتاح (مفتاح الكائن) يعود صحيحًا إذا كانت هذه الخريطة تحتوي على تعيين للمفتاح المحدد.
قيمة منطقية تحتوي على قيمة (قيمة الكائن) إرجاع صحيح إذا كانت هذه الخريطة تعين مفتاحاً أو أكثر للقيمة المحددة.
تعيين الإدخال Set () إرجاع عرض مجموعة التعيينات الموجودة في هذه الخريطة.
مفتاح الكائن الأول () إرجاع المفتاح الأول (الأدنى) الموجود حاليًا في هذه الخريطة التي تم فرزها.
الحصول على الكائن (مفتاح الكائن) تُرجع القيمة التي تعين لها هذه الخريطة المفتاح المحدد.
SortedMap headMap (Object toKey) تُرجع طريقة عرض جزء هذه الخريطة الذي تكون مفاتيحه أقل من toKey.
تعيين keySet () إرجاع طريقة عرض تعيين للمفاتيح الموجودة في هذه الخريطة.
مفتاح الكائن الأخير () إرجاع آخر مفتاح (أعلى) موجود حاليًا في هذه الخريطة التي تم فرزها.
وضع الكائن (مفتاح الكائن ، قيمة الكائن) يقرن القيمة المحددة بالمفتاح المحدد في هذه الخريطة.
وضع باطل الكل (خريطة الخريطة) ينسخ جميع التعيينات من الخريطة المحددة إلى هذه الخريطة.
إزالة الكائن (مفتاح الكائن) يزيل التعيين لهذا المفتاح من TreeMap هذا إذا كان موجودًا.
حجم int () إرجاع عدد تعيينات قيمة المفتاح في هذه الخريطة.
خريطة فرعية SortedMap (كائن fromKey ، كائن toKey) تُرجع طريقة عرض جزء هذه الخريطة الذي تتراوح مفاتيحه من مفتاح ، شامل ، إلى مفتاح ، حصري.
SortedMap tailMap (كائن fromKey) تُرجع طريقة عرض جزء هذه الخريطة الذي تكون مفاتيحه أكبر من أو تساوي fromKey.
قيم المجموعة () ترجع طريقة عرض المجموعة للقيم الموجودة في هذه الخريطة.

مثال على TreeMap في Java

import java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap مع الدولة كمفتاح ورأس المال كقيمة // تخزن TreeMap العناصر بالترتيب الطبيعي للمفاتيح. TreeMap countryCapitalMap = خريطة شجرة جديدة () countryCapitalMap.put ('الهند' ، 'دلهي') countryCapitalMap.put ('اليابان' ، 'طوكيو') countryCapitalMap.put ('فرنسا' ، 'باريس') countryCapitalMap.put ('روسيا' ، 'Moscow') System.out.println ('-----------------------------') // تكرار TreeMap باستخدام keySet ( ) ولكل حلقة System.out.println ('Iterating TreeMap using keySet () ولكل حلقة') لـ (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' ورأس المال: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

انتاج:

مع هذا ، وصلنا إلى نهاية مقالة TreeMap في Java. ج تحقق من من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'TreeMap in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.