Rövid bemutatás a Java TreeMap-ban példákkal



Ez a cikk részletes és átfogó ismereteket nyújt a Java-ban található TreeMap-ról, a módszerek és a kivitelezők példáival.

A Map felület Java-ban történő megvalósítása nagyon fontos feladat. Erre a célra megvan TreeMap és HashMap . Ebben a cikkben a TreeMap-ra koncentrálunk a következő sorrendben:

Mi a TreeMap a Java-ban?

A Java-ban lévő TreeMap-ot a Map felület és a NavigableMap, valamint az Absztrakt osztály megvalósításához használják. A térkép a kulcsainak természetes sorrendje szerint van rendezve, vagy a térkép készítésének idején megadott Comparator segítségével, attól függően, hogy melyik konstruktort használja. Ez a kulcsérték-párok rendezésének és tárolásának hatékony módjának bizonyul.





TreeMap-in-JavaA treemap által fenntartott tárolási sorrendnek konzisztensnek kell lennie az egyenlőségekkel, mint bármely más rendezett térkép, függetlenül a kifejezett összehasonlító elemektől. A treemapa megvalósítás nincs szinkronizálva abban az értelemben, hogy ha egy térképhez több szál fér hozzá, egyidejűleg, és legalább az egyik szál strukturálisan módosítja a térképet, akkor azt külsőleg kell szinkronizálni.

A TreeMaps jellemzői

  • Ez az osztály a Java Collections Framework tagja.



  • Az osztály megvalósítja a Map felületeket, beleértve a NavigableMap, a SortedMap és kiterjeszti az AbstractMap alkalmazást

  • A Java-ban található TreeMap nem engedélyez semmilyen kulcsot (például Map), így a NullPointerException dobódik. Ugyanakkor több nullérték társítható különböző kulcsokhoz.

  • Az összes Map.Entry pár az ebbe az osztályba tartozó módszerekkel visszaküldött és nézetei pillanatképeket mutatnak a leképezésekről azok elkészítésének idején.



  • Nem támogatják az Entry.setValue metódust.

Fontos megjegyeznivalók

  1. A Map felület megvalósításán kívül a Java TreeMap megvalósítja a NavigableMap programot és közvetett módon a SortedMap felületet is. A TreeMap kiterjeszti az AbstractMap osztályt is.

  2. A TreeMap bejegyzéseit a kulcsok természetes sorrendjében rendezik. Ezenkívül egy konstruktort is biztosít, amely biztosítja a Comparator alkalmazást a rendeléshez. Tehát, ha bármelyik osztályt használja kulcsként, győződjön meg arról, hogy az összehasonlítható felületet valósítja meg a természetes megrendeléshez. Nézze meg a java gyűjtemények interjúinak kérdéseit, hogy megértse ezeknek a módszereknek a fontosságát.

  3. A Java TreeMap megvalósítás garantált naplózási (n) időköltséget biztosít az includKey, get, put and remove műveletekhez.

  4. A TreeMap nincs szinkronizálva, ezért nem biztonságos a szálak számára. Többszálas környezetekhez csomagolást szinkronizálhat a Collections.synchronizedSortedMap módszerrel.

  5. A kulcskészlet és az értékek lekérésére szolgáló TreeMap módszerek visszaadják az Iteratort, amely hibamentes jellegű, így minden egyidejű módosítás a ConcurrentModificationException-t dobja.

  6. A java-ban található TreeMap nem engedélyezi a nullkulcsok használatát, azonban több nullérték is társítható különböző kulcsokhoz.

Kivitelezők a TreeMap-ban

Építész Leírás
TreeMap () Készít egy üres treemap-ot, amelyet a kulcsok természetes sorrendjében rendeznek.
TreeMap (Comparator comp) Összeállít egy üres faalapú térképet, amelyet a Comparator comp segítségével rendeznek.
TreeMap (Térkép m) Inicializál egy tretérképet az m-ből származó bejegyzésekkel, amelyet a kulcsok természetes sorrendjében rendeznek.
TreeMap (SortedMap sm) Inicializál egy treemapot a SortedMap sm bejegyzéseivel, amelyeket ugyanabban a sorrendben rendeznek, mint az sm.

Módszerek a TreeMap-ban

Módszer Leírás
void clear () Eltávolít minden hozzárendelést erről a TreeMap-ról.
Objektumklón () Ennek a TreeMap-példánynak egy sekély példányát adja vissza.
Összehasonlító összehasonlító () Visszaadja a térkép megrendeléséhez használt összehasonlítót, vagy nullát, ha a térkép a kulcsok természetes sorrendjét használja.
a Boolean tartalmazzaKey (Object kulcs) Igaz értéket ad vissza, ha ez a térkép a megadott kulcs leképezését tartalmazza.
logikai érték tartalmazza (objektum értéke) Igaz értéket ad vissza, ha ez a térkép egy vagy több kulcsot leképez a megadott értékre.
Set entrySet () beállítása Visszaadja a térképen szereplő leképezések meghatározott nézetét.
Object firstKey () Visszaadja az első (legalacsonyabb) kulcsot ebben a rendezett térképen.
Object get (objektumkulcs) Visszaadja azt az értéket, amelyre ez a térkép leképezi a megadott kulcsot.
SortedMap headMap (Object toKey) Visszaadja a térkép azon részének nézetét, amelynek kulcsai szigorúan kisebbek, mint a ToKey.
Set keySet () Visszaadja a térképen található kulcsok Set nézetét.
Object lastKey () Visszaadja az aktuális (legmagasabb) kulcsot ebben a rendezett térképen.
Objektum felhelyezése (Object key, Object value) A megadott értéket társítja a térképen a megadott kulccsal.
void putAll (Térképes térkép) Az összes leképezést átmásolja a megadott térképről erre a térképre.
Objektum eltávolítása (Object key) Eltávolítja ennek a kulcsnak a leképezését erről a TreeMap-ról, ha van.
int méret () Visszaadja a kulcs-érték leképezések számát ezen a térképen.
SortedMap subMap (Object fromKey, Object toKey) Visszaadja a térkép azon részének nézetét, amelynek kulcsai a Key-től kezdve a Key-ig, kizárólagosig terjednek.
SortedMap tailMap (Object fromKey) Visszaadja a térkép azon részének nézetét, amelynek kulcsai nagyobbak vagy egyenlőek a fromKey-vel.
Gyűjtemény értékei () Visszaadja a térképen szereplő értékek gyűjteménynézetét.

Példa a Java MapMap-jára

importálja a java.util.TreeMap nyilvános osztályt TreeMapMain {public static void main (String args []) {// TreeMap, amelynek kulcsa az Ország, értéke pedig tőke // A TreeMap elemeket a kulcsok természetes sorrendjében tárol. TreeMap countryCapitalMap = új TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japán', 'Tokió') countryCapitalMap.put ('Franciaország', 'Párizs') countryCapitalMap.put ('Oroszország') , 'Moszkva') System.out.println ('-----------------------------') // A TreeMap iterálása a KeySet ( ) és minden hurokhoz System.out.println ('A TreeMap iterálása a KeySet () használatával és az egyes ciklusokhoz') a (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ') és tőke: '+ countryCapitalMap.get (countryKey)}} System.out.println (' ----------------------------- ' )}}

Kimenet:

mi a példányváltozó

Ezzel a TreeMap a Java-ban végéhez értünk. C a fenébe az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg ennek a „TreeMap in Java” blognak a megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.