logo

שיעור Java TreeMap

היררכיית מחלקות Java TreeMap

מחלקת Java TreeMap היא מימוש מבוסס עץ אדום-שחור. הוא מספק אמצעי יעיל לאחסון צמדי מפתח-ערך בסדר ממוין.

הנקודות החשובות לגבי שיעור Java TreeMap הן:

  • Java TreeMap מכיל ערכים המבוססים על המפתח. הוא מיישם את ממשק NavigableMap ומרחיב את מחלקת AbstractMap.
  • Java TreeMap מכיל רק אלמנטים ייחודיים.
  • Java TreeMap לא יכול להיות מפתח null אבל יכול להיות בעל ערכי null מרובים.
  • Java TreeMap אינו מסונכרן.
  • Java TreeMap שומרת על סדר עולה.

הצהרת מחלקה של TreeMap

בוא נראה את ההצהרה עבור מחלקת java.util.TreeMap.

מספר שלם למחרוזת ב-java
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

פרמטרים של מחלקת TreeMap

בוא נראה את הפרמטרים עבור המחלקה java.util.TreeMap.

    ק: זה סוג המפתחות שמתוחזק על ידי המפה הזו.IN: זהו סוג הערכים הממופים.

בונים של כיתה Java TreeMap

בַּנַאִיתיאור
TreeMap()הוא משמש לבניית מפת עץ ריקה שתמוין לפי הסדר הטבעי של המפתח שלה.
TreeMap (השוואה להשוואה)הוא משמש לבניית מפה ריקה מבוססת עצים שתמוין באמצעות ה-comparator comp.
TreeMap (מפה מ')הוא משמש לאתחול מפת עץ עם הערכים מ M , אשר ימוינו לפי הסדר הטבעי של המפתחות.
TreeMap(SortedMap m)הוא משמש לאתחול מפת עץ עם הערכים מ- SortedMap sm , אשר ימוינו באותו סדר כמו sm.

שיטות של כיתה Java TreeMap

שיטהתיאור
Map.Entry roofEntry(מפתח K)הוא מחזיר את צמד המפתח-ערך בעל המפתח הנמוך ביותר, גדול או שווה למפתח שצוין, או null אם אין מפתח כזה.
K תקרהKey(מפתח K)הוא מחזיר את המפתח הנמוך ביותר, גדול מהמפתח שצוין או null אם אין מפתח כזה.
void clear()זה מסיר את כל צמדי המפתח-ערך ממפה.
שיבוט אובייקט()זה מחזיר עותק רדוד של מופע TreeMap.
Comparator comparator()זה מחזיר את המשווה שמסדר את המפתח לפי הסדר, או null אם המפה משתמשת בסדר הטבעי.
NavigableSet descendingKeySet()זה מחזיר סדר הפוך של NavigableSet של המפתחות הכלולים במפה.
NavigableMap descendingMap()הוא מחזיר את צמדי המפתח-ערך שצוינו בסדר יורד.
Map.Entry firstEntry()הוא מחזיר את צמד המפתח-ערך בעל המפתח הנמוך ביותר.
Map.Entry floorEntry(מפתח K)הוא מחזיר את המפתח הגדול ביותר, קטן או שווה למפתח שצוין, או null אם אין מפתח כזה.
void forEach (פעולה BiConsumer)הוא מבצע את הפעולה הנתונה עבור כל ערך במפה עד שכל הערכים עברו עיבוד או שהפעולה זורקת חריגה.
SortedMap headMap(K toKey)הוא מחזיר את צמדי המפתח-ערך שהמפתחות שלהם פחותים בהחלט מ-toKey.
NavigableMap headMap (K toKey, כולל בוליאני)הוא מחזיר את צמדי המפתח-ערך שהמפתחות שלהם קטנים מ-toKey (או שווים אם זה נכון).
Map.Entry higherEntry(מפתח K)הוא מחזיר את המפתח הפחות גדול מהמפתח הנתון, או null אם אין מפתח כזה.
K higherKey(K key)הוא משמש להחזרת true אם המפה הזו מכילה מיפוי עבור המפתח שצוין.
הגדר keySet()זה מחזיר את אוסף המפתחות הקיים במפה.
Map.Entry lastEntry()הוא מחזיר את צמד המפתח-ערך בעל המפתח הגדול ביותר, או null אם אין מפתח כזה.
Map.Entry lowerEntry(מפתח K)הוא מחזיר מיפוי מפתח-ערך המשויך למפתח הגדול ביותר פחות מהמפתח הנתון, או null אם אין מפתח כזה.
K lowerKey (מקש K)הוא מחזיר את המפתח הגדול ביותר פחות מהמפתח הנתון, או null אם אין מפתח כזה.
NavigableSet navigableKeySet()הוא מחזיר תצוגת NavigableSet של המפתחות הכלולים במפה זו.
Map.Entry pollFirstEntry()הוא מסיר ומחזיר מיפוי מפתח-ערך המשויך למפתח הנמוך ביותר במפה זו, או null אם המפה ריקה.
Map.Entry pollLastEntry()הוא מסיר ומחזיר מיפוי מפתח-ערך המשויך למפתח הגדול ביותר במפה זו, או null אם המפה ריקה.
V put (מפתח K, ערך V)הוא מוסיף את הערך שצוין עם המפתח שצוין במפה.
void putAll(מפת מפה)הוא משמש להעתקת כל צמד המפתח-ערך ממפה אחת למפה אחרת.
V replace (מפתח K, ערך V)זה מחליף את הערך שצוין עבור מפתח שצוין.
החלפה בוליאני (מפתח K, V oldValue, V newValue)הוא מחליף את הערך הישן בערך החדש עבור מפתח שצוין.
void replaceAll (פונקציית BiFunction)זה מחליף את הערך של כל ערך בתוצאה של הפעלת הפונקציה הנתונה באותו ערך עד שכל הערכים עברו עיבוד או שהפונקציה זורקת חריגה.
NavigableMap subMap(K fromKey, Boolean fromInclusive, K toKey, Boolean toInclusive)הוא מחזיר צמדי מפתח-ערך שהמפתחות שלהם נעים בין מ-Key ל-toKey.
SubMap SortedMap (K fromKey, K toKey)הוא מחזיר צמדי מפתח-ערך שהמפתחות שלהם נעים בין מ-Key, כולל, ל-toKey, בלעדי.
SortedMap tailMap (K fromKey)הוא מחזיר צמדי מפתח-ערך שהמפתחות שלהם גדולים או שווים ל-fromKey.
NavigableMap tailMap (K fromKey, כולל בוליאני)הוא מחזיר צמדי מפתח-ערך שהמפתחות שלהם גדולים מ- (או שווים, אם הכל נכון) fromKey.
Boolean containsKey(מפתח אובייקט)זה מחזיר אמת אם המפה מכילה מיפוי עבור המפתח שצוין.
Boolean containsValue(ערך אובייקט)זה מחזיר אמת אם המפה ממפה מפתח אחד או יותר לערך שצוין.
K firstKey()הוא משמש להחזרת המפתח הראשון (הנמוך ביותר) כרגע במפה ממוינת זו.
V get (מפתח אובייקט)הוא משמש להחזרת הערך שאליו המפה ממפה את המפתח שצוין.
K lastKey()הוא משמש להחזרת המפתח האחרון (הגבוה ביותר) כרגע במפה הממוינת.
V להסיר (מפתח אובייקט)זה מסיר את צמד המפתח-ערך של המפתח שצוין מהמפה.
מַעֲרֶכֶתentrySet()הוא מחזיר תצוגה מוגדרת של המיפויים הכלולים במפה.
int size()הוא מחזיר את מספר צמדי המפתח-ערך הקיימים בטבלת ה-hasht.
ערכי אוסף()הוא מחזיר תצוגת אוסף של הערכים הכלולים במפה.

דוגמה של Java 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: remove()

 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 יכול להכיל מפתח null אחד.TreeMap לא יכול להכיל מפתח null.
2) HashMap לא שומרת על סדר.TreeMap שומרת על סדר עולה.

דוגמה של Java TreeMap: ספר

 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