TreeMap i Java
Udover AbstractMap Class implementerer Javas TreeMap diskret kortgrænsefladen og NavigableMap. Afhængigt af hvilken konstruktør der bruges, sorteres kortet enten efter den naturlige rækkefølge af dets nøgler eller efter en komparator angivet på tidspunktet for oprettelse af kortet.
Dette er en effektiv metode til sortering og lagring af nøgleværdi-par. Uanset de angivne komparatorer, skal trækortets lagerrækkefølge være i overensstemmelse med ligeværdige, ligesom ethvert andet sorteret kort. Implementeringen af et trækort præsenteres som ikke-synkroniseret, fordi et kort skal synkroniseres eksternt, hvis det bruges af flere tråde samtidigt, og mindst én af trådene ændrer kortet grundlæggende.
Klasseerklæring for TreeMap
Lad os se på java.util.TreeMap-klasseerklæringen.
public class TreeMap<Key,Value> extends AbstractMap<Key,Value> implements NavigableMap<Key,Value>, Cloneable, Serializable
Klasseparametre for TreeMap
Lad os se på java.util.TreeMap-klassens parametre.
- Dette korts slags nøgler er angivet med bogstavet K.
- Typen af kortlagt værdi er V.
TreeMap-egenskaber
Følgende er nogle af trækortets nøglefunktioner:
- Java Collections Framework inkluderer denne klasse.
- Klassen udvider AbstractMap og implementerer kortgrænseflader såsom NavigableMap og SortedMap.
- Fordi TreeMap (i modsætning til Map) ikke accepterer null-nøgler, opstår der en NullPointerException.
- På den anden side kan flere null-værdier associeres med separate nøgler.
- Indgangsparrene givet af denne klasses metoder og visninger er øjebliksbilleder af kortlægninger taget, da de blev oprettet.
- Entry.setValue-metoden understøttes ikke.
Nu er det tid til at tale om Synchronized TreeMap. TreeMap-implementeringen er ikke synkroniseret. Dette betyder, at hvis flere tråde besøger et træsæt samtidigt og mindst én af opdateringerne af det, skal sættet synkroniseres eksternt. Collections.synchronizedSortedMap-metoden bruges almindeligvis til at opnå dette. Dette bør gøres på oprettelsestidspunktet for at undgå utilsigtet usynkroniseret adgang til sættet. Dette kan opnås ved at:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Du undrer dig sikkert over, hvordan TreeMap fungerer indeni.
Metoderne i et TreeMap returnerer en Iterator, der er fejlsikker til at få nøglesæt og værdier. ConcurrentModificationException vil blive kastet for enhver samtidig ændring. Datastrukturen i et TreeMap er et rød-sort træ. Hver node i træet har følgende egenskaber:
3 variables (key=Key, value=Value, boolean color=Color) 3 references (Entry lft = Left, Entry rgt = Right, Entry parent = Parent)
TreeMap-konstruktører
Når vi opretter et TreeMap, skal vi først oprette et TreeMap-objekt. TreeMap-klassen indeholder flere konstruktører, der gør det muligt at oprette TreeMap. Konstruktørerne, der er tilgængelige i denne klasse, er som følger:
- TreeMap()
- TreeMap(Comparator comp)
- TreeMap(Kort M)
- TreeMap(Sorteret kort sm)
Lad os gennemgå hver enkelt individuelt, før vi implementerer hver konstruktør:
Den første konstruktør:TreeMap
Denne konstruktør opretter et tomt trækort, der vil blive sorteret efter nøglernes naturlige rækkefølge. Eksempel:
// Program for demonstrating the TreeMap using the Default Constructor // Importing required classes import java.util.*; import java.util.concurrent.*; // TreeMapImplementation is the Main class public class Codeunderscored { // Method one showing the TreeMap constructor static void CodeFirstConstructor() { // Creation of an empty TreeMap TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); // Mapping string values to int keys // using put() method treeMap.put(1, "Code"); treeMap.put(18, "Underscored"); treeMap.put(16, "Coding"); treeMap.put(34, "Java"); treeMap.put(12, "Extravaganza"); // how to print the TreeMap elements System.out.println(" The TreeMap is as follows: " + treeMap); } // Method Two: The primary driver method public static void main(String[] args) { System.out.println("TreeMap using the "+ "TreeMap() constructor:\n"); // Calling constructor CodeFirstConstructor(); } }
Den anden konstruktør:TreeMap(Comparator comp)
Denne konstruktør er ansvarlig for at skabe et tomt TreeMap-objekt med noder, der kræver en ekstern sorteringsrækkefølgespecifikation.
// Program for demonstrating TreeMap using the Comparator Constructor //First, import the needed classes import java.util.*; import java.util.concurrent.*; // Class 1: This is the helper class for CodeStudent class CodeStudent { // CodeStudent's attributes int c_rollno; String c_name, c_address; // Constructor public CodeStudent(int c_rollno, String c_name, String c_address) { // This keyword refers to current object itself this.c_rollno = c_rollno; this.c_name = c_name; this.c_address = c_address; } // class's method for printing CodeStudent details public String toString() { return this.c_rollno + " " + this.c_name + " " + this.c_address; } } // Class Two: This is the helper class for implementing a Comparator class CodeSortByRoll implements Comparator<CodeStudent> { // responsible for sorting the student's roll number in ascending order public int compare(CodeStudent aVar, CodeStudent bVar) { return aVar.c_rollno - bVar.c_rollno; } } // Class Three: This is the Main class public class Code { // here, we call the constructor inside main() static void CodeSecondConstructor() { // Creation of an empty TreeMap TreeMap<CodeStudent, Integer> treeMap = new TreeMap<CodeStudent, Integer>( new CodeSortByRoll()); // Mapping string values to int keys treeMap.put(new CodeStudent(1, "Joy", "Manchester"), 2); treeMap.put(new CodeStudent(2, "Green", "LA"), 3); treeMap.put(new CodeStudent(3, "Tyson", "New York"), 1); // Print the TreeMap elements System.out.println(" The TreeMap is: " + treeMap); } // The driver;s main method public static void main(String[] args) { System.out.println("The TreeMap using " + "TreeMap(Comparator)" + " constructor:\n"); CodeSecondConstructor(); } }
Den tredje konstruktør:TreeMap (Map M)
Denne konstruktør bruges til at udfylde et TreeMap med indgange fra et specificeret kort "M", som vil blive sorteret efter nøglernes naturlige rækkefølge.
Eksempel
// Program for illustrating the TreeMap through the Default Constructor //First, Import the required classes import java.util.*; import java.util.concurrent.*; // This is the Main class public class CodeTreeMapImplementation { // Method 1: illustrates the constructor<Map> static void CodeThirdConstructor() { // Creation of an empty HashMap Map<Integer, String> hashMap = new HashMap<Integer, String>(); // using the put() method to Map string values to respective int keys hashMap.put(8, "Code"); hashMap.put(3, "Underscored"); hashMap.put(7, "Coding"); hashMap.put(11, "Challenge"); hashMap.put(5, "2022"); // Creation of the TreeMap by using the Map TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(hashMap); // Printing the TreeMap elements System.out.println("The TreeMap is: " + treeMap); } // Method 2: This is the driver's main method public static void main(String[] args) { System.out.println(" The TreeMap using the " + "TreeMap(Map)" + " constructor:\n"); CodeThirdConstructor(); } }
Den fjerde konstruktør:TreeMap(SortedMap sm)
Denne konstruktør udfylder et TreeMap med elementerne fra det angivne sorterede kort, gemt i samme rækkefølge som det sorterede kort.
// Program for illustrating the TreeMap throughout the SortedMap Constructor // First, Import the needed classes import java.util.*; import java.util.concurrent.*; // TreeMapImplementation- Main class public class Codeunderscored { // Method for showing TreeMap(SortedMap) constructor static void CodeFourthConstructor() { // Creating a SortedMap SortedMap<Integer, String> sortedMap = new ConcurrentSkipListMap<Integer, String>(); // using the put() method for mapping values of type string to int keys sortedMap.put(8, "Code"); sortedMap.put(3, "Underscored"); sortedMap.put(7, "Coding"); sortedMap.put(11, "Challenge"); sortedMap.put(5, "2022"); // Creation of the TreeMap using the SortedMap TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(sortedMap); // Printing of the elements of the TreeMap System.out.println("The TreeMap is: " + treeMap); } // Method 2: The driver's Main method public static void main(String[] args) { System.out.println("This is the TreeMap using the: " + "TreeMap(SortedMap)" + " constructor:\n"); CodeFourthConstructor(); } }
TreeMap-klassens metoder
clear()
Metoden rydder kortet og fjerner alle tilknytninger fra trækortet.
klone()
En overfladisk kopi af dette TreeMap returneres med denne metode.
containsKey(Objektnøgle)
Hvis dette kort har en tilknytning til den medfølgende nøgle, returnerer den sand.
containsValue(Objektværdi)
Hvis dette kort er ansvarligt for at tilknytte en eller flere nøgler til den angivne værdi, returnerer det sandt.
entrySet()
Denne metode er ansvarlig for at returnere en fast visning af tilknytningerne på dette kort.
firstKey()
Returnerer det aktuelt sorterede korts første (laveste) nøgle.
get(Objektnøgle)
Returnerer den værdi, som dette kort knytter den medfølgende nøgle til.
headMap(Object key_value)
Metoden returnerer en visning af kortudsnittet, der er strengt mindre end parameteren nøgleværdi.
keySet()
Metoden returnerer en Set-repræsentation af trækortets nøgler.
lastKey()
Returnerer det aktuelt sorterede korts sidste (højeste) nøgle.
put(Objektnøgle, Objektværdi)
En kortlægning indsættes på et kort på denne måde.
putAll(Map map)
Alle kortlægninger fra det angivne kort kopieres til dette kort.
fjern(Objektnøgle)
Hvis dette TreeMap har en tilknytning til denne nøgle, fjernes det.
størrelse()
Antallet af nøgleværditilknytninger i dette kort returneres.
subMap((K startKey, K endKey)
Metoden returnerer kortdelen med nøgler fra startKey til endKey, inklusive og eksklusive.
værdier()
Denne metode har til opgave at returnere en samlingsvisning af værdierne i dette kort.
Følgende programmer viser dig, hvordan du opretter, indsætter og navigerer gennem TreeMap-implementeringen.
Eksempel:Program til illustration af operationerne i TreeMap
// TreeMap operations include: Creation, insertion, searching, and traversal //First, importing the necessary classes import java.util.*; import java.util.concurrent.*; // This is the class's main implementation of the TreeMap public class Codeunderscored { // Declaration of a TreeMap static TreeMap<Integer, String> treeMap; // Method One: Creation of a TreeMap static void CodeCreate() { // Creating an empty TreeMap treeMap = new TreeMap<Integer, String>(); // Display message only System.out.println("TreeMap has been created successfully"); } // Method Two: Inserting values in the TreeMap static void CodeInsert() { // using put() method to map values of string type to int keys treeMap.put(8, "Code"); treeMap.put(3, "Underscored"); treeMap.put(7, "Coding"); treeMap.put(11, "Challenge"); treeMap.put(5, "2022"); // Display message only System.out.println("\nPrinting the Elements successfully" + " after initial insert to the TreeMap"); } // Method three: / searching for a key in the givenTreeMap static void CodeSearch(int key) { // looking for the key System.out.println("\nThis is the key \"" + key + "\" present? " + treeMap.containsKey(key)); } // Method Four: searching for value in the provided TreeMap static void CodeSearch(String value) { // Checking for the value System.out.println("\nThis is the value \"" + value + "\" present? " + treeMap.containsValue(value)); } // Method Five: displaying elements in the provided TreeMap static void CodeDisplay() { // showing the TreeMap System.out.println("\nShowing the TreeMap:"); System.out.println("The TreeMap is: " + trerMap); } // Method Six: traversing through the TreeMap static void CodeTraverse() { // showing message explicitly System.out.println("\nTreeMap Traversal:"); for (Map.Entry<Integer, String> eVar : treeMap.entrySet()) System.out.println(eVar.getKey() + " " + eVar.getValue()); } // Method 7: This is the driver's Main method public static void main(String[] args) { // Calling the above-defined methods inside the main() // Creation of a TreeMap CodeCreate(); // Insertion of values in the TreeMap CodeInsert(); // searching for key "2022" in the provided TreeMap CodeSearch(2022); // Searching for the value "Coding" in the TreeMap CodeSearch("Coding"); // Displaying the TreeMap's elements CodeDisplay(); // TreeMap Traversal CodeTraverse(); } }
Brug af TreeMap til at udføre forskellige operationer
Det er nu muligt at begrænse den slags objekter, der kan placeres i TreeMap takket være fremkomsten af Generics i Java 1.5. Lad os se på at bruge TreeMap til at udføre nogle få almindelige handlinger.
Operation One:Tilføjelse af elementer
Metoden put() kan tilføje et element til TreeMap. I TreeMap er indsættelsesrækkefølgen dog ikke bevaret. Internt sammenlignes og sorteres nøglerne i stigende rækkefølge for hvert element. De almindelige metoder til at tilføje elementer omfatter:
- put() - Sætter den angivne nøgle/værdi-tilknytning (indtastning) i kortet.
- PutAll() - Sætter alle indgange fra et specificeret kort på dette kort.
- PutIfAbsent() – Hvis den leverede nøgle ikke er til stede i kortet, tilføjer putIfAbsent() den angivne nøgle/værditilknytning til kortet.
// Program for demonstrating the addition of Elements in TreeMap through the put() Method // First, import the necessary classes import java.util.*; // This is the Main class class Codeunderscored { // This is the driver's Main method public static void main(String args[]) { // Initialization of a given TreeMap by default TreeMap treeMap = new TreeMap(); // using the put() method to Insert elements in TreeMap treeMap.put(3, "Code"); treeMap.put(2, "Underscored"); treeMap.put(1, "Coding"); // Initializing a TreeMap through use of Generics TreeMap<Integer, String> treeMapTwo = new TreeMap<Integer, String>(); // using the method, "put()" to insert elements in the TreeMap given treeMapTwo.put(new Integer(3), "Code"); treeMapTwo.put(new Integer(2), "Underscored"); treeMapTwo.put(new Integer(1), "Coding"); // Printing the elements of both TreeMaps // Tree Map One System.out.println(treeMap); // Tree Map Two System.out.println(treeMapTwo); } } import java.util.TreeMap; class CodeAdd { public static void main(String[] args) { //Making an even-numbered TreeMap TreeMap<String, Integer> treeMap = new TreeMap<>(); // Making use of the put() method treeMap.put("Eight", 8); treeMap.put("Twelve", 12); // making use of the putIfAbsent() ethod treeMap.putIfAbsent("Six", 6); System.out.println("TreeMap of even numbers: " + treeMap); //Making a number TreeMap TreeMap<String, Integer> numbers = new TreeMap<>(); treeMap.put("One", 1); // Using the putAll() method numbers.putAll(treeMap); System.out.println("TreeMap of of the given numbers: " + treeMap); } }
Operation Two:TreeMap Element Access
Brug af værdier(), keySet() og entrySet()
- entrySet() – returnerer en samling af alle nøgle/værdi-tilknytninger (entry) for en trækortnøgle.
- keySet()- returnerer en samling af alle nøglerne i et trækort.
- værdier() – leverer en samling af et trækorts kort.
import java.util.TreeMap; class CodeElementAccess { public static void main(String[] args) { TreeMap<String, Integer> treeMap = new TreeMap<>(); treeMap.put("Eleven", 11); treeMap.put("Twelve", 12); treeMap.put("Thirteen", 13); System.out.println("The TreeMap is: " + treeMap); // utilizing the entrySet() method System.out.println("The Key/Value mappings include: " + treeMap.entrySet()); // utilizing the keySet() method System.out.println("The Keys include: " + treeMap.keySet()); // utilizing the values() method System.out.println("The Values Include: " + treeMap.values()); } }
Brug af funktionerne get() og getOrDefault()
- get() – Returnerer den værdi, der svarer til den leverede nøgle. Hvis nøglen ikke kan hentes, returneres null.
- getOrDefault() – Henter standardværdien for den angivne nøgle. Hvis nøglen ikke kan findes, returneres standardværdien.
For eksempel,
import java.util.TreeMap; class CodeElementAccessTwo { public static void main(String[] args) { TreeMap<String, Integer> treeMap = new TreeMap<>(); treeMap.put("Eleven", 11); treeMap.put("Twelve", 12); treeMap.put("Thirteen", 13); System.out.println("The TreeMap is: " + treeMap); // Using get() int valOne = numbers.get("Twelve"); System.out.println("Using get(): " + valOne); // Using getOrDefault() int valTwo = numbers.getOrDefault("Ten", 10); System.out.println("Using getOrDefault(): " + valTwo); } }
Metoden getOrDefault() kan ikke finde nøglen Ten i dette tilfælde. Som et resultat returneres standardtallet 10.
Operation tre:Ændring af elementer
Hvis vi ønsker at opdatere et element, efter at det er blevet tilføjet, kan vi gøre det ved at bruge put()-metoden til at tilføje det igen. Fordi nøglerne bruges til at indeksere elementerne i træoversigten, kan værdien af nøglen ændres ved blot at tilføje den opdaterede værdi for den nøgle, vi ønsker at ændre.
// program for Illustrating how to Updat TreeMap elements using the put() Method // First, import the needed classes import java.util.*; // This is the Main class class CodeUnderscored { // Main driver method public static void main(String args[]) { // use Generics in the initialization of a TreeMap TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); // Inserting the elements in Map // using put() method treeMap.put(3, "Code"); treeMap.put(2, "Code"); treeMap.put(1, "Code"); // Printing of all the current elements in the map System.out.println(treeMap); // Insertion of the element at the specified place corresponding to the key given treeMap.put(2, "Underscored"); // Now, print the Maps' updated elements System.out.println(treeMap); } }
Operation fire:Elementfjernelse
Metoden remove() kan slette et element fra trækortet. Hvis nøgleværdien er til stede i kortet, fjerner denne metode tilknytningen for nøglen fra trækortet.
Eksempel
// Program for Illustrating Elements' Removal in the TreeMap using the method remove() // First, importing the necessary classes import java.util.*; // This is the Main class class CodeUnderscored { // This is the driver's Main method public static void main(String args[]) { // Employ Generics to initialize a TreeMap TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); // Inserting the elements // using put() method treeMap.put(3, "Code"); treeMap.put(2, "Underscored"); treeMap.put(1, "Coding"); treeMap.put(4, "2022"); // All the Map elements require printing System.out.println(treeMap); // Removal of the element that corresponds to the provided key treeMap.remove(2); // The updated TreeMap can now be Printed System.out.println(treeMap); } }
Operation Five:Iteration gennem TreeMap
Der er flere metoder til at gentage kortet. Den mest kendte metode er at bruge en for-hver-løkke til at få nøglerne. GetValue()-metoden er udpeget til at bestemme nøglens værdi.
Eksempel
// Program for Illustrating Iteration over the TreeMap // First, import the necessary classes import java.util.*; // This is the Main class class CodeUnderscored { // This is the driver's Main method public static void main(String args[]) { // Employ Generics to initialize a TreeMap TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); // use the method, put(), to insert the element's treeMap.put(3, "Code"); treeMap.put(2, "Underscored"); treeMap.put(1, "Coding"); // Use the entrySet() Method in a for-each loop traversal of the Map for (Map.Entry mapElement : treeMap.entrySet()) { int keyVar = (int)mapElement.getKey(); // locating the value String valueVar = (String)mapElement.getValue(); // Printing the keyVar and valueVar System.out.println(keyVar + " : " + valueVar); } } }
Komparator for TreeMaps
Trækortelementer er arrangeret organisk i alle ovenstående tilfælde (i stigende rækkefølge). Vi kan dog ændre rækkefølgen af tasterne. Vi bliver nødt til at lave vores komparatorklasse afhængigt af, hvordan et trækorts nøgler er arrangeret. For eksempel,
import java.util.TreeMap; import java.util.Comparator; class CodeCompartor { public static void main(String[] args) { // Using a custom comparator to create a treemap TreeMap<String, Integer> treeMap = new TreeMap<>(new CustomComparator()); treeMap.put("Eleventh", 11); treeMap.put("Twelveth",12); treeMap.put("Thirteenth", 13); treeMap.put("Fourteenth", 14); System.out.println("TreeMap: " + treeMap); } // Constructing a comparator class public static class CodeComparator implements Comparator<String> { @Override public int compare(String numberOne, String numberTwo) { int valVar = numberOne.compareTo(numberTwo); // reversing the order of elements if ( valVar > 0) { return -1; } else if ( valVar < 0) { return 1; } else { return 0; } } } }
Eksempel:Java TreeMap
import java.util.*; class CodeTreeMap1{ public static void main(String args[]){ TreeMap<Integer,String> treeMap=new TreeMap<Integer,String>(); treeMap.put(02,"Green"); treeMap.put(05,"Joy"); treeMap.put(07,"Bright"); treeMap.put(09,"Lucy"); for(Map.Entry m:treeMap.entrySet()){ System.out.println(m.getKey()+" "+m.getValue()); } } }
Eksempel:Java TreeMap remove()
import java.util.*; public class CodeTreeMap { public static void main(String args[]) { TreeMap<Integer,String> treeMap=new TreeMap<Integer,String>(); treeMap.put(02,"Green"); treeMap.put(05,"Joy"); treeMap.put(07,"Bright"); treeMap.put(09,"Lucy"); System.out.println(" Results prior to invoking the remove() method"); for(Map.Entry m:treeMap.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } map.remove(02); System.out.println("Results proceeding the invoking of the remove() method"); for(Map.Entry m:treeMap.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } } }
Eksempel:Java TreeMap NavigableMap
import java.util.*; class CodeTreeMap{ public static void main(String args[]){ NavigableMap<Integer,String> treeMap=new TreeMap<Integer,String>(); treeMap.put(02,"Green"); treeMap.put(05,"Joy"); treeMap.put(07,"Bright"); treeMap.put(09,"Lucy"); //Keeps the descending order System.out.println("descendingMap: "+treeMap.descendingMap()); //Key-value pairs having keys that are less than or equal to the specified key are returned. System.out.println("headMap: "+treeMap.headMap(02,true)); //Returns key-value pairs with keys equal to or greater than the supplied key. System.out.println("tailMap: "+treeMap.tailMap(02,true)); //responsible for returning the count of key-value pairs between the provided keys. System.out.println("subMap: "+treeMap.subMap(09, false, 02, true)); } }
Eksempel:Java TreeMap SortedMap
import java.util.*; class CodeTreeMap{ public static void main(String args[]){ SortedMap<Integer,String> treeMap=new TreeMap<Integer,String>(); treeMap.put(02,"Green"); treeMap.put(05,"Joy"); treeMap.put(07,"Bright"); treeMap.put(09,"Lucy"); //Key-value pairs with keys smaller than the specified key are returned. System.out.println("The headMap is: "+map.headMap(02)); //Returns key-value pairs with keys equal to or greater than the supplied key. System.out.println("The tailMap is: "+map.tailMap(02)); //responsible for returning the count of key-value pairs between the provided keys. System.out.println("The subMap is: "+map.subMap(09, 02)); } }
Eksempel:Java TreeMap Laptop
import java.util.*; class Laptop { int id; String name,author,publisher; int quantity; public Laptop(int id, String name, String model, String manufacturer, int quantity) { this.id = id; this.name = name; this.model = model; this.manufacturer = manufacturer; this.quantity = quantity; } } public class CodeMap { public static void main(String[] args) { //Creating map of Laptops Map<Integer,Laptop> treeMap=new TreeMap<Integer,Laptop>(); //Creating Laptops Laptop laptopOne=new Laptop(1,"Lenovo Yoga","LN90THY","Lenovo",20); Laptop laptopTwo=new Laptop(2,"HP Probook","P8976T","HP",5); Laptop laptopThree=new Laptop(3,"Toshiba Slim","T999T","Toshiba",2); //Adding Laptops to map treeMap.put(2,laptopTwo); treeMap.put(1,laptopOne); treeMap.put(3,laptopThree); //Traversing map for(Map.Entry<Integer, Laptop> entry:treeMap.entrySet()){ int key=entry.getKey(); Laptop bVar=entry.getValue(); System.out.println(key+" Details:"); System.out.println(bVar .id+" "+bVar.name+" "+bVar.model+" "+bVar.manufacturer+" "+b.quantity); } } }
Konklusion
Ved hjælp af eksempler har vi lært om Java TreeMap-klassen og dens handlinger i denne artikel. Trædatastrukturen er implementeret af Java Collections framework's TreeMap-klasse. Yderligere er NavigableMap-grænsefladen implementeret.
TreeMap-klassen bruger et træ til at implementere kortgrænsefladen. Et TreeMap er en effektiv måde at gemme nøgle/værdi-par i sorteret rækkefølge og hente dem hurtigt. Det er værd at bemærke, at i modsætning til et hash-kort, sikrer et trækort, at emnerne er ordnet i stigende nøglerækkefølge. Derudover implementerer Java TreeMap-klassen en rød-sort træmodel. Det letter lagringen af nøgleværdi-par i sorteret rækkefølge hurtigt.