Különbség a HashMap és a JavaMaker között

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 2 Lehet 2024
Anonim
Különbség a HashMap és a JavaMaker között - Technológia
Különbség a HashMap és a JavaMaker között - Technológia

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.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaHashMapTreemap
Alapvető A HashMap nem tartja be a beszúrási sorrendet.A TreeMap fenntartja a beszúrási sorrendet.
adatstruktúraA 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égrehajtjaA 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ényA 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 sm)

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.

  1. Mindkét osztályt térképobjektumok létrehozására használják, de a HashMap és a Treemap közötti alapvető különbség az, hogy a HashMap nem tartja be a beszúrási sorrendet, míg a Treemap.
  2. A Hashmap a térkép elemek tárolására használt adatstruktúra a hash tábla, és a TreeMap a térkép elemek tárolására használt adatstruktúra a vörös-fekete fa.
  3. Mind a Hashmap, mind a Treemap osztály kiterjeszti az AbstractMap osztályt, de a HashMap osztály végrehajtja a Map felületet, a TreeMap pedig a NavigableMap és a SortedMap felületet.
  4. Az értékek tetszőleges számúak lehetnek Nullok, mindkettőben, de a kulcs csak egyszer lehet nulla a HashMapben, és a kulcs soha nem lehet a Treemap-ben.
  5. A HashMap teljesítménye gyorsabb, nem vesztegeti az időt a térkép elemek rendezésében, ahogy a TreeMap teszi. Ezért a TreeMap lassabban teljesít, mint a HashMap.

Következtetés:

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.