Java TreeMap-klassen gemmer data i en træstruktur ved hjælp af en kortgrænseflade. Denne klasse udvider AbstractMap-klassen, og ligesom dens overordnede klasse har TreeMap to typeparametre. En af dens typeparametre repræsenterer nøglerne i TreeMap, mens den anden repræsenterer værdierne.

TreeMap-datastrukturen gemmer nøgleværdi-par og giver dig mulighed for at udføre CRUD-operationer på disse data.

Sådan opretter du et trækort i Java

TreeMap-klassen har fire konstruktører, som du kan bruge til at oprette et nyt TreeMap-objekt. Standardkonstruktøren er den mest populære af de fire. Denne konstruktør tager ingen argumenter og genererer et tomt trækort.

// Opret et nyt trækort
Trækort kunder = ny Trækort();

Koden ovenfor genererer et tomt trækort kaldet kunder.

Udfyldelse af TreeMap-datastrukturen

Det sætte() metode tilføjer et element til et TreeMap-objekt. Det kræver to argumenter - en nøgle og dens værdi. Du kan tilføje elementer til trækortet i enhver tilfældig rækkefølge, og datastrukturen gemmer dem i stigende rækkefølge, i henhold til deres nøgler.

instagram viewer
// Udfyld et trækort
kunder.put(105, "Jessica Jones");
kunder.put(102, "Mark Williams");
kunder.put(104, "Phil Blair");
kunder.put(101, "Kim Brown");
kunder.put(103, "Jim Riley");

Ovenstående kode tilføjer fem kunder i tilfældig rækkefølge til kundetrækortet.

Visning af elementer i et trækort

TreeMap-klassen gemmer sine data i et objekt. Så for at se alle elementerne i et trækort kan du blot udskrive trækortobjektet til konsollen:

// Se alle trækortelementer som et objekt
System.out.println (kunder);

Koden ovenfor udskriver følgende output til konsollen:

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Bemærk, at objektet ovenfor viser elementerne i stigende rækkefølge. Du kan også se hvert element og dets tilsvarende nøgle ved hjælp af en Java for loop.

// Se alle elementer med en iterator
til (Indgang kunde: customers.entrySet()) {
System.out.println("Nøgle: " + customer.getKey() + " Værdi: " + customer.getValue());
}

Koden ovenfor udskriver følgende output til konsollen:

Nøgle: 101 Værdi: Kim Brown
Nøgle: 102 Værdi: Mark Williams
Nøgle: 103 Værdi: Jim Riley
Nøgle: 104 Værdi: Phil Blair
Nøgle: 105 Værdi: Jessica Jones

Opdatering af elementer i et trækort

TreeMap-klassen giver dig mulighed for at opdatere et eksisterende element ved hjælp af erstatte() metode. Der er to udskiftningsmetoder. Den første metode tager en eksisterende nøgle og den nye værdi, du vil tilknytte den eksisterende nøgle til.

// Erstat eksisterende værdi
kunder.erstat(101"Kim Smith");
System.out.println (kunder);

Koden ovenfor udskriver følgende objekt i konsollen:

{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Som du kan se Kim Brown er nu Kim Smith. Den anden erstatning()-metode tager en eksisterende nøgle, nøglens aktuelle værdi og den nye værdi, du vil knytte til nøglen.

// Erstat eksisterende værdi
kunder.erstat(103"Jim Riley", "Michelle Noah");
System.out.println (kunder);

Koden ovenfor udskriver følgende objekt i konsollen:

{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

I objektet ovenfor Michelle Noah erstatter Jim Riley.

Sletning af elementer fra trækortet

Hvis du vil fjerne et enkelt element fra trækortet, fjerne() metode er din eneste mulighed. Den tager nøglen, der er knyttet til det element, du vil fjerne, og returnerer den slettede værdi.

// Fjern et element
kunder.fjern(104);
System.out.println (kunder);

Ved at køre koden ovenfor udskrives følgende objekt til konsollen:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

Dette Java klasse har også en klar() metode, der giver dig mulighed for at slette alle elementer i trækortet.

Trækortet vs. HashMap Java Class

TreeMap og HashMap er to af de mere populære Java-kortklasser. De udvider begge AbstractMap-klassen. Dette forhold giver TreeMap- og HashMap-klasserne adgang til mange af de samme funktioner.

Der er dog nogle bemærkelsesværdige forskelle mellem disse to kortklasser. TreeMap bruger en rød-sort træimplementering af kortgrænsefladen, mens HashMap bruger en hash-tabel. HashMap giver dig mulighed for at gemme en enkelt null-nøgle, mens TreeMap ikke gør det. Endelig er et HashMap hurtigere end et TreeMap. Førstnævntes algoritmiske hastighed er O(1), mens sidstnævntes er O(log (n)).