فئة Java TreeMap عبارة عن تطبيق قائم على شجرة باللونين الأحمر والأسود. يوفر وسيلة فعالة لتخزين أزواج القيمة الرئيسية بترتيب فرزها.
النقاط المهمة حول فئة Java TreeMap هي:
- يحتوي Java TreeMap على قيم تعتمد على المفتاح. إنه يطبق واجهة NavigableMap ويوسع فئة AbstractMap.
- يحتوي Java TreeMap على عناصر فريدة فقط.
- لا يمكن أن يحتوي Java TreeMap على مفتاح فارغ، ولكن يمكن أن يحتوي على قيم فارغة متعددة.
- Java TreeMap غير متزامن.
- يحافظ Java TreeMap على ترتيب تصاعدي.
إعلان فئة TreeMap
دعونا نرى إعلان فئة java.util.TreeMap.
كيف يمكنني العثور على التطبيقات المخفية على أندرويد
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
معلمات فئة TreeMap
دعونا نرى المعلمات لفئة java.util.TreeMap.
منشئو فئة Java TreeMap
البناء | وصف |
---|---|
خريطة الشجرة () | يتم استخدامه لإنشاء خريطة شجرة فارغة سيتم فرزها باستخدام الترتيب الطبيعي لمفتاحها. |
TreeMap (المقارنة المقارنة) | يتم استخدامه لإنشاء خريطة فارغة مبنية على شجرة والتي سيتم فرزها باستخدام شركات المقارنة. |
TreeMap(خريطة م) | يتم استخدامه لتهيئة مخطط هيكلي مع الإدخالات من م ، والتي سيتم فرزها باستخدام الترتيب الطبيعي للمفاتيح. |
TreeMap(SortedMap م) | يتم استخدامه لتهيئة المخطط الهيكلي بالإدخالات من SortedMap سم ، والتي سيتم فرزها بنفس الترتيب سم. |
طرق فئة Java TreeMap
طريقة | وصف |
---|---|
Map.Entry سقف الإدخال (مفتاح K) | تقوم بإرجاع زوج المفتاح والقيمة الذي يحتوي على أقل مفتاح، أو أكبر من أو يساوي المفتاح المحدد، أو خاليًا إذا لم يكن هناك مثل هذا المفتاح. |
مفتاح السقف K (مفتاح K) | تقوم بإرجاع أقل مفتاح، أكبر من المفتاح المحدد أو فارغًا إذا لم يكن هناك مثل هذا المفتاح. |
باطل واضح () | يقوم بإزالة كافة أزواج القيمة الرئيسية من الخريطة. |
استنساخ الكائن () | تقوم بإرجاع نسخة ضحلة من مثيل TreeMap. |
المقارنة المقارنة() | تقوم بإرجاع المقارنة التي تقوم بترتيب المفتاح، أو فارغة إذا كانت الخريطة تستخدم الترتيب الطبيعي. |
NavigableSet تنازليKeySet() | تقوم بإرجاع عرض NavigableSet بترتيب عكسي للمفاتيح الموجودة في الخريطة. |
NavigableMap تنازليMap () | تقوم بإرجاع أزواج القيمة الرئيسية المحددة بترتيب تنازلي. |
Map.Entry firstEntry() | تقوم بإرجاع زوج القيمة الرئيسية الذي يحتوي على أقل مفتاح. |
Map.Entry FloorEntry (مفتاح K) | تقوم بإرجاع المفتاح الأكبر، أو أقل من أو يساوي المفتاح المحدد، أو فارغة إذا لم يكن هناك مثل هذا المفتاح. |
باطلة لكل (إجراء BiConsumer) | يقوم بتنفيذ الإجراء المحدد لكل إدخال في الخريطة حتى تتم معالجة جميع الإدخالات أو يطرح الإجراء استثناءً. |
SortedMap headMap (K toKey) | تقوم بإرجاع أزواج القيمة الرئيسية التي تكون مفاتيحها أقل تمامًا من toKey. |
NavigableMap headMap (K toKey، منطقية شاملة) | تقوم بإرجاع أزواج القيمة الرئيسية التي تكون مفاتيحها أقل من (أو تساوي إذا كان الشمول صحيحًا) إلىKey. |
Map.Entry HigherEntry (مفتاح K) | تقوم بإرجاع المفتاح الأصغر بشكل صارم أكبر من المفتاح المحدد، أو null إذا لم يكن هناك مثل هذا المفتاح. |
K أعلىمفتاح (مفتاح K) | يتم استخدامه لإرجاع صحيح إذا كانت هذه الخريطة تحتوي على تعيين للمفتاح المحدد. |
تعيين مجموعة المفاتيح () | تقوم بإرجاع مجموعة المفاتيح الموجودة في الخريطة. |
Map.Entry lastEntry() | تقوم بإرجاع زوج المفتاح والقيمة الذي يحتوي على المفتاح الأكبر، أو null إذا لم يكن هناك مثل هذا المفتاح. |
Map.Entry LowerEntry (مفتاح K) | تقوم بإرجاع تعيين قيمة المفتاح المرتبط بالمفتاح الأكبر بشكل صارم أقل من المفتاح المحدد، أو فارغة إذا لم يكن هناك مثل هذا المفتاح. |
K LowerKey (مفتاح K) | تقوم بإرجاع المفتاح الأكبر بدقة أقل من المفتاح المحدد، أو إرجاعه فارغًا إذا لم يكن هناك مثل هذا المفتاح. |
NavigableSet navigableKeySet() | تقوم بإرجاع عرض NavigableSet للمفاتيح الموجودة في هذه الخريطة. |
Map.Entry pollFirstEntry() | يقوم بإزالة وإرجاع تعيين قيمة المفتاح المرتبط بأقل مفتاح في هذه الخريطة، أو فارغًا إذا كانت الخريطة فارغة. |
Map.Entry pollLastEntry() | يقوم بإزالة وإرجاع تعيين قيمة المفتاح المرتبط بأكبر مفتاح في هذه الخريطة، أو فارغًا إذا كانت الخريطة فارغة. |
وضع V (مفتاح K، قيمة V) | يقوم بإدراج القيمة المحددة بالمفتاح المحدد في الخريطة. |
باطلة putAll (خريطة الخريطة) | يتم استخدامه لنسخ كل زوج القيمة الرئيسية من خريطة إلى خريطة أخرى. |
استبدال V (مفتاح K، قيمة V) | يستبدل القيمة المحددة لمفتاح محدد. |
استبدال منطقي (مفتاح K، V oldValue، V newValue) | يقوم باستبدال القيمة القديمة بالقيمة الجديدة لمفتاح محدد. |
استبدال باطلة الكل (وظيفة BiFunction) | فهو يستبدل قيمة كل إدخال بنتيجة استدعاء الوظيفة المحددة على هذا الإدخال حتى تتم معالجة جميع الإدخالات أو تقوم الوظيفة بطرح استثناء. |
NavigableMap subMap(K fromKey، منطقية fromInclusive، K toKey، منطقية toInclusive) | تقوم بإرجاع أزواج القيمة الرئيسية التي تتراوح مفاتيحها من fromKey إلى toKey. |
SortedMap subMap (K fromKey، K toKey) | تقوم بإرجاع أزواج المفتاح والقيمة التي تتراوح مفاتيحها من fromKey، شاملاً، إلى toKey، حصريًا. |
SortedMap tailMap (K fromKey) | تقوم بإرجاع أزواج القيمة الرئيسية التي تكون مفاتيحها أكبر من أو تساوي fromKey. |
NavigableMap tailMap (K fromKey، منطقية شاملة) | تقوم بإرجاع أزواج القيمة الرئيسية التي تكون مفاتيحها أكبر من (أو تساوي، إذا كان الشمول صحيحًا) fromKey. |
منطقي يحتوي على مفتاح (مفتاح الكائن) | يتم إرجاعه صحيحًا إذا كانت الخريطة تحتوي على تعيين للمفتاح المحدد. |
منطقية تحتوي على قيمة (قيمة الكائن) | يتم إرجاعه صحيحًا إذا قامت الخريطة بتعيين مفتاح واحد أو أكثر للقيمة المحددة. |
ك فيرستكي () | يتم استخدامه لإرجاع المفتاح الأول (الأدنى) الموجود حاليًا في هذه الخريطة المصنفة. |
الحصول على V (مفتاح الكائن) | يتم استخدامه لإرجاع القيمة التي تقوم الخريطة بتعيين المفتاح المحدد لها. |
K lastKey() | يتم استخدامه لإرجاع المفتاح الأخير (الأعلى) الموجود حاليًا في الخريطة التي تم فرزها. |
إزالة V (مفتاح الكائن) | يقوم بإزالة زوج القيمة الرئيسية للمفتاح المحدد من الخريطة. |
تعيين | تقوم بإرجاع عرض محدد للتعيينات الموجودة في الخريطة. |
حجم صحيح () | تقوم بإرجاع عدد أزواج القيمة الرئيسية الموجودة في جدول التجزئة. |
قيم المجموعة () | تقوم بإرجاع عرض مجموعة للقيم الموجودة في الخريطة. |
مثال جافا TreeMap
import java.util.*; class TreeMap1{ public static void main(String args[]){ TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }
Output:100 Amit 101 Vijay 102 Ravi 103 Rahul
مثال Java TreeMap: إزالة ()
import java.util.*; public class TreeMap2 { public static void main(String args[]) { TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } map.remove(102); System.out.println('After invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } } }
انتاج:
أمثلة على نظام التشغيل
Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul
مثال Java TreeMap: NavigableMap
import java.util.*; class TreeMap3{ public static void main(String args[]){ NavigableMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Maintains descending order System.out.println('descendingMap: '+map.descendingMap()); //Returns key-value pairs whose keys are less than or equal to the specified key. System.out.println('headMap: '+map.headMap(102,true)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102,true)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, false, 102, true)); } }
descendingMap: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} headMap: {100=Amit, 101=Vijay, 102=Ravi} tailMap: {102=Ravi, 103=Rahul} subMap: {101=Vijay, 102=Ravi}
مثال Java TreeMap: SortedMap
import java.util.*; class TreeMap4{ public static void main(String args[]){ SortedMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Returns key-value pairs whose keys are less than the specified key. System.out.println('headMap: '+map.headMap(102)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, 102)); } }
headMap: {100=Amit, 101=Vijay} tailMap: {102=Ravi, 103=Rahul} subMap: {100=Amit, 101=Vijay}
ما الفرق بين HashMap و TreeMap؟
خريطة التجزئة | خريطة الشجرة |
---|---|
1) يمكن أن يحتوي HashMap على مفتاح فارغ واحد. | لا يمكن أن يحتوي TreeMap على أي مفتاح فارغ. |
2) لا يحتفظ HashMap بأي ترتيب. | يحافظ TreeMap على ترتيب تصاعدي. |
مثال Java TreeMap: Book
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class MapExample { public static void main(String[] args) { //Creating map of Books Map map=new TreeMap(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(2,b2); map.put(1,b1); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }
انتاج:
1 Details: 101 Let us C Yashwant Kanetkar BPB 8 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 3 Details: 103 Operating System Galvin Wiley 6