Különbség a HashMap és a JavaMaker között
Tartalom
A HashMap és a TreeMap a Map osztályok, és mindkettő megvalósítja a Térkép felületet. A Térkép olyan objektum, amely kulcs-érték párokat tárol, ahol minden kulcs egyedi, de lehetnek ismétlődő értékek. A HashMap osztály a hash táblát használja adatszerkezetként. A TreeMap a vörös-fekete fát használja adatszerkezetként. A HashMap és a Treemap közötti fő különbség az, hogy a HashMap nem őrzi meg a beszúrási sorrendet, míg a Treemap csinál.
Tehát kezdjük megbeszélést a HashMap és a TreeMap közötti különbségekről az alább bemutatott összehasonlító táblázat segítségével.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | HashMap | Treemap |
---|---|---|
Alapvető | A HashMap nem tartja be a beszúrási sorrendet. | A TreeMap fenntartja a beszúrási sorrendet. |
adatstruktúra | A HashMap a Hash Tablet használja mögöttes adatszerkezetként. | A TreeMap a Red-Black Tree-t használja mögöttes adatszerkezetként. |
Null kulcsok és értékek | A HashMap lehetővé teszi a Null kulcs egyszeri hirdetését. | A TreeMap nem engedélyezi a Null kulcsot, de a Null értékeket tetszőleges ideig engedélyezi. |
Bővíti és végrehajtja | A HashMap kibővíti az AbstractMap osztályt és végrehajtja a Map interfészt. | A TreeMap kiterjeszti az AbstractMap osztályt, és végrehajtja a SortedMap és a NavigableMap felületet. |
Teljesítmény | A HashMap gyorsabban működik. | A TreeMap a HashMap-hoz képest lassabban működik. |
Meghatározása HashMap
HashMap egy térkép osztály. Használja a hash asztal, mint adatszerkezet a térkép kulcs-értékpár tárolására. A kulcs-érték pár beillesztése a hash kód a kulcsok. Ezért a térkép minden kulcsának egyedinek kell lennie, mivel azt az értékek lekérésére használják.
A beszúrási sorrend a HashMap-ben: nem megőrizve, ami azt jelenti, hogy a hashmap objektum nem adja vissza az elemeket a behelyezésük sorrendjében. Másrészt az elemek visszaküldésének sorrendje nincs rögzítve.
Az kulcs megengedett lehet NULLA egyszerre, de a értékeket lehet NULLA bármikor, bármikor. A HashMap tartalmazhatja a heterogén objektumok a kulcsokhoz, valamint az értékek.
A HashMap négy építője van:
HashMap () HashMap (térkép m) HashMap (int kapacitás), HashMap (int kapacitás, float fillRatio)
Az első A konstruktor létrehozza a HashMap üres objektumát. Az második a kivitelező a m m Map elemeivel inicializálja a HashMap-et. Az harmadik A konstruktor az argumentumban megadott kapacitással inicializálja a HashMap-et. Az negyedik A konstruktor inicializálja a HashMap objektum kapacitását és kitöltési arányát.
Az alapértelmezett kapacitás a HashMap 16, és az alapértelmezett töltési arány a HashMap 0.75.
A TreeMap meghatározása
Mint a HashMap, Treemap szintén Térkép osztály. A TreeMap kiterjed AbstractMap osztály és eszközök NavigabelMap és SortedMap. A TreeMap objektumok a térkép elemeit a fa szerkezetében tárolják. A térkép tárolására használt adatszerkezet a Vörös-fekete fa.
A TreeMap a kulcsérték-párt rendezett sorrendben tárolja, amely elősegíti az elemek gyors visszakeresését. A TreeMap objektum visszaadja az elemeket a kiválogatott (emelkedő) sorrend.
A TreeMap négy építője van:
TreeMap () TreeMap (Összehasonlító <? Super K> comp) TreeMap (Térkép <? Kiterjeszti K,? Kiterjeszti V> m) TreeMap (SortedMap Az első az építők létrehoznak egy üres objektumot a TreeMap-ből, amelyet természetesen sorrendben rendeznek a kulcsaival. Az második A konstruktor létrehoz egy üres fa térképet, amelyet a Összehasonlító cmp. Az harmadik A fenti konstruktor létrehoz egy fatérképet, amelyet a Térkép m. Az negyedik A konstruktor létrehoz egy fatérképet, amelyet inicializálnak a SortedMap sm. A Treemap-nek nincs új módszere, a NavigableMap és a SortedMap felület módszerét, valamint az AbstractMap osztályt használja. A TreeMap-et csak akkor szabad használni, ha kulcsalap-értékre van szükség rendezett formában. Mivel a válogatás magában foglalja a teljesítmény költségeit. A szinkronizálatlan HashMap gyorsabban működik.
Következtetés: