En kort introduktion till TreeMap i Java med exempel



Den här artikeln ger dig en detaljerad och omfattande kunskap om TreeMap i Java med exempel på metoder och konstruktörer.

Att implementera ett kartgränssnitt i Java är en mycket viktig uppgift. För detta ändamål har vi TreeMap och HashMap . I den här artikeln kommer vårt fokus att vara på TreeMap in i följande ordning:

Vad är en TreeMap i Java?

En TreeMap i Java används för att implementera Map-gränssnitt och NavigableMap tillsammans med Abstract Class. Kartan sorteras efter den naturliga ordningen av dess nycklar, eller av en komparator som tillhandahålls vid tidpunkten för kartskapande, beroende på vilken konstruktör som används. Detta visar sig vara ett effektivt sätt att sortera och lagra nyckel-värdeparen.





TreeMap-in-JavaLagringsordningen som upprätthålls av trädkartan måste överensstämma med lika som alla andra sorterade kartor, oavsett de uttryckliga jämförelserna. Tre kartanimplementeringen synkroniseras inte i den meningen att om en karta nås av flera trådar samtidigt, och åtminstone en av trådarna ändrar kartan strukturellt, måste den synkroniseras externt.

Funktioner i TreeMaps

  • Denna klass är medlem i Java Collections Framework.



  • Klassen implementerar kartgränssnitt inklusive NavigableMap, SortedMap och utökar AbstractMap

  • TreeMap i Java tillåter inte nollnycklar (som Map) och därmed kastas en NullPointerException. Flera nollvärden kan dock associeras med olika nycklar.

    vad gör tostring i java
  • Alla Map.Entry-par som returneras med metoder i den här klassen och dess vyer representerar ögonblicksbilder av mappningar när de producerades.



  • De stöder inte metoden Entry.setValue.

Viktiga punkter att komma ihåg

  1. Förutom att implementera Map-gränssnittet implementerar Java TreeMap också NavigableMap och implementerar indirekt SortedMap-gränssnittet. TreeMap utökar också klassen AbstractMap.

  2. TreeMap-poster sorteras i den naturliga ordningen av dess nycklar. Det ger också en konstruktör att tillhandahålla Comparator som ska användas för beställning. Så om du använder någon klass som nyckel, se till att den implementerar jämförbart gränssnitt för naturlig beställning. Kolla in intervjuer om Java-samlingar för att förstå vikten av dessa metoder.

  3. Java TreeMap-implementering ger garanterad logg (n) -tidskostnad för den innehåller Key, get, put och ta bort operationer.

    hur man vänder en strängpython
  4. TreeMap är inte synkroniserad och därför inte trådsäker. För flertrådade miljöer kan du få en insvept synkronisering med metoden Collections.synchronizedSortedMap.

  5. TreeMap-metoder för att få nyckeluppsättning och värden returnerar Iterator som är felsnabb till sin natur, så att alla samtidiga modifieringar kommer att kasta ConcurrentModificationException.

  6. TreeMap i Java tillåter inte nollnycklar, men du kan ha flera nollvärden associerade med olika nycklar.

Konstruktörer i TreeMap

Byggare Beskrivning
TreeMap () Konstruerar en tom trädkarta som kommer att sorteras med den naturliga ordningen på dess nycklar.
TreeMap (Comparator comp) Konstruerar en tom trädbaserad karta som kommer att sorteras med hjälp av Comparator comp.
TreeMap (Karta m) Initierar en trädkarta med posterna från m, som kommer att sorteras med hjälp av tangenternas naturliga ordning.
TreeMap (SortedMap sm) Initierar en trädkarta med posterna från SortedMap sm, som kommer att sorteras i samma ordning som sm.

Metoder i TreeMap

Metod Beskrivning
ogiltig rensa () Tar bort alla mappningar från denna TreeMap.
Objektklon () Returnerar en grundkopia av denna TreeMap-instans.
Jämförelsekomparator () Returnerar komparatorn som används för att beställa den här kartan, eller null om den här kartan använder dess nycklarnas naturliga ordning.
boolean containsKey (Objektnyckel) Returnerar sant om den här kartan innehåller en mappning för den angivna nyckeln.
boolean containsValue (Objektvärde) Returnerar sant om den här kartan mappar en eller flera tangenter till det angivna värdet.
Ställ in post Set () Returnerar en uppsättning vy av mappningarna som finns på den här kartan.
Objekt firstKey () Returnerar den första (lägsta) tangenten för närvarande på den här sorterade kartan.
Object get (Objektnyckel) Returnerar det värde som denna karta mappar den angivna nyckeln till.
SortedMap headMap (Object toKey) Returnerar en vy av den del av denna karta vars nycklar är strikt mindre än toKey.
Set keySet () Returnerar en Set-vy av tangenterna på den här kartan.
Objekt lastKey () Returnerar den sista (högsta) tangenten för närvarande på den här sorterade kartan.
Object put (Objektnyckel, Objektvärde) Associerar det angivna värdet med den angivna nyckeln på denna karta.
void putAll (Map map) Kopierar alla mappningar från den angivna kartan till den här kartan.
Objekt ta bort (Objektnyckel) Tar bort kartläggningen för denna nyckel från denna TreeMap om den finns.
int storlek () Returnerar antalet nyckelvärdesmappningar på den här kartan.
SortedMap subMap (Object fromKey, Object toKey) Returnerar en vy av den del av denna karta vars tangenter sträcker sig från Key, inklusive, till Key, exklusiva.
SortedMap tailMap (Object fromKey) Returnerar en vy av den del av denna karta vars nycklar är större än eller lika med fromKey.
Samlingsvärden () Returnerar en samlingsvy av värdena på denna karta.

Exempel på TreeMap i Java

importera java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap with Country as key and capital as value // TreeMap lagrar element i naturlig ordning av nycklar. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japan', 'Tokyo') countryCapitalMap.put ('France', 'Paris') countryCapitalMap.put ('Russia' , 'Moskva') System.out.println ('-----------------------------') // Iterera TreeMap med keySet ( ) och för varje loop System.out.println ('Iterating TreeMap Using keySet () and for each loop') for (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' och huvudstad: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Produktion:

Med detta kommer vi till ett slut på denna TreeMap i Java-artikel. C heck ut av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill bli Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna “TreeMap in Java” -blogg så återkommer vi till dig så snart som möjligt.

vad är hashset i java