الفرق الرئيسي - TreeSet مقابل TreeMap
يتم استخدام مصفوفة لتخزين مجموعة من عناصر البيانات من نفس النوع. تدعم معظم لغات البرمجة المصفوفات. على الرغم من أن المصفوفة يمكنها تخزين قيم متعددة ؛ هناك عيب كبير. بمجرد إنشاء المصفوفة ، لا يمكن تغييرها. إذا أعلن المبرمج عن مصفوفة من 10 عناصر ، فلن يتمكن من تخزين 15 عنصرًا. عندما يعلن المبرمج عن مصفوفة من 10 عناصر ويخزن 5 عناصر فقط ، فإن باقي الذاكرة المخصصة تكون ضائعة. تحتوي لغات البرمجة مثل Java على مجموعات لتخزين عناصر البيانات ديناميكيًا. هناك عدد من المجموعات. تساعد المجموعات في إجراء الإضافة والحذف والعناصر والعمليات الأخرى.تُعرف الواجهة الأساسية باسم المجموعة. Set و List و Queue هي بعض الواجهات التي تعمل على توسيع واجهة Collection. الخريطة هي واجهة للتسلسل الهرمي للمجموعة ، لكنها لا توسع واجهة المجموعة. TreeSet هي فئة تنفذ واجهة Set وتخزن العناصر بترتيب تصاعدي. TreeMap هي فئة تنفذ واجهة الخريطة وتخزن أزواج المفاتيح والقيمة بترتيب تصاعدي. هذا هو الاختلاف الرئيسي. تتناول هذه المقالة الفرق بين TreeSet و TreeMap.
ما هو TreeSet؟
TreeSet هي فئة تنفذ واجهة Set. يحافظ TreeSet على عناصر فريدة. تقوم TreeSet بتنفيذ واجهة NavigableSet. تمتد الواجهة القابلة للملاحة على واجهات SortedSet و Set و Collection و Iterable بترتيب هرمي. يقوم TreeSet بتخزين العناصر بترتيب تصاعدي. إذا كان ترتيب الإدراج هو A ، C ، B ، فإن TreeSet سوف تخزنها كـ A ، B ، C. هناك طرق لـ TreeSet. تُستخدم طريقة الإضافة لإضافة عنصر إلى المجموعة.يتم استخدام طريقة الإزالة لإزالة عنصر محدد. يتم استخدام الطريقة الواضحة لإزالة جميع العناصر. يعيد التابع "true" إذا كان العنصر المحدد موجودًا في المجموعة. هناك بعض الطرق التي توفرها TreeSet. الرجوع إلى البرنامج أدناه.
الشكل 01: البرنامج باستخدام TreeSet
وفقًا للبرنامج أعلاه ، تعد Treeset كائنًا من نوع TreeSet. يمكنه تخزين السلاسل. يتم إضافة العناصر باستخدام طريقة الإضافة. ترتيب الإدراج هو A و C و D و B. باستخدام المكرر ، تتم طباعة القيم المخزنة على الشاشة. يتم تخزين العناصر بالترتيب A ، B ، C ، D. لذلك ، تحتفظ TreeSet بترتيب تصاعدي لعناصر المجموعة. إذا كان هناك عنصر آخر مثل "D" فلن تتم طباعته لأن العنصر D موجود بالفعل في المجموعة. يخزن دائمًا عناصر فريدة.
ما هو TreeMap؟
TreeMap هي فئة تنفذ واجهة الخريطة. تدعم الخريطة أزواج المفتاح والقيمة. كل زوج مفتاح ، قيمة هو إدخال. كل مفتاح فريد وله قيمة مقابلة. يتم استخدام طريقة containsKey للعثور على مفتاح معين بينما يتم استخدام طريقة containsValue للعثور على قيمة محددة. يتم استخدام طريقة get للعثور على القيمة المقابلة للمفتاح المحدد. يتم استخدام طريقة put لتخزين قيمة بالمفتاح المحدد. من الممكن أيضًا إزالة عنصر عند مفتاح معين باستخدام طريقة الإزالة. هذه بعض الطرق الشائعة لواجهة الخريطة. يساعد في البحث عن العناصر وإدراجها وحذفها بناءً على المفتاح. تطبق فئة TreeMap NavigableMap. يمتد NavigableMap خريطة SortedMap. SortedMap يمتد الخريطة. لذلك ، يمكن استخدام طرق الخريطة مع TreeMap. الرجوع إلى البرنامج أدناه.
الشكل 02: البرنامج باستخدام TreeMap
وفقًا للبرنامج أعلاه ، يتم إنشاء كائن TreeMap. يمكن للمبرمج إضافة عناصر باستخدام الكائن. يتم استخدام طريقة الوضع لإدخال أزواج المفتاح والقيمة. يتم استخدام طريقة get مع المفتاح المحدد لجلب العناصر. يمكن للمبرمج استخدام Map. Entry لطباعة جميع المفاتيح والقيم. عند مراقبة الإخراج ، فإنه لا يحتفظ بالترتيب المدرج. يخزن العناصر بترتيب تصاعدي.
ما هي أوجه التشابه بين TreeSet و TreeMap؟
- يوجد كل من TreeSet و TreeMap في التسلسل الهرمي للمجموعة.
- يحافظ كل من TreeSet و TreeMap على الترتيب التصاعدي.
- يمكن لكل من TreeSet و TreeMap تخزين العديد من العناصر ومعالجتها.
ما هو الفرق بين TreeSet و TreeMap؟
TreeSet مقابل TreeMap |
|
TreeSet هي فئة تنفذ واجهة Set وتخزن العناصر بترتيب تصاعدي. | TreeMap هي فئة تنفذ واجهة الخريطة وتخزن أزواج المفاتيح والقيمة بترتيب تصاعدي. |
الواجهة المطبقة | |
TreeSet تنفذ واجهة تعيين. | TreeMap تنفذ واجهة الخريطة. |
ملخص - TreeSet مقابل TreeMap
تُستخدم المصفوفة لتخزين مجموعة من العناصر ، لكنها لا تساعد في تخزين العناصر ديناميكيًا. تحتوي لغات البرمجة مثل Java على مجموعات لتخزين عناصر البيانات ديناميكيًا. المجموعة هي الفئة الأساسية في التسلسل الهرمي للمجموعة. يتكون من فئات وواجهات لإجراء عمليات مثل إضافة وحذف العناصر. تعيين وخريطة نوعان من واجهات التسلسل الهرمي للمجموعة. TreeSet هي فئة تنفذ واجهة Set وتخزن العناصر بترتيب تصاعدي. TreeMap هي فئة تنفذ واجهة الخريطة وتخزن أزواج المفاتيح والقيمة بترتيب تصاعدي. هذا هو الفرق بين TreeSet و TreeMap.