מחלקת 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.
בונים של כיתה 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 להסיר (מפתח אובייקט) | זה מסיר את צמד המפתח-ערך של המפתח שצוין מהמפה. |
מַעֲרֶכֶת | הוא מחזיר תצוגה מוגדרת של המיפויים הכלולים במפה. |
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