Razlika med Java in TashMap

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 1 Maj 2024
Anonim
Razlika med Java in TashMap - Tehnologija
Razlika med Java in TashMap - Tehnologija

Vsebina


HashMap in TreeMap sta razreda Map in oba izvajata vmesnik Map. Map je predmet, ki shranjuje pare ključ-vrednost, kjer je vsak ključ enkraten, vendar so lahko podvojene vrednosti. Razred HashMap uporablja tabelo tabele kot strukturo podatkov. TreeMap uporablja rdeče-črno drevo kot strukturo podatkov. Glavna razlika med HashMap in Treemap je, da je HashMap ne ohranja vrstnega reda vstavljanja, ker Treemap naredi.

Začnimo torej razpravo o razlikah med HashMapom in TreeMapom s spodnjo primerjalno tabelo.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoHashMapTreeMap
Osnovni HashMap ne vzdržuje vrstnega reda vstavljanja.TreeMap vzdržuje vrstni red vstavljanja.
Podatkovna strukturaHashMap uporablja Hash Table kot osnovno strukturo podatkov.TreeMap uporablja rdeče-črno drevo kot osnovno strukturo podatkov.
Ničelni ključi in vrednosti HashMap omogoča Null tipko enkrat oglasa Null vrednost poljubno število časa.TreeMap ne dovoljuje Null Key, vendar omogoča Null Vrednosti poljubno število časa.
Razširitve in izvedbeHashMap razširja razred AbstractMap in izvaja vmesnik Map.TreeMap razširja razred AbstractMap in izvaja vmesnike SortedMap in NavigableMap.
IzvedbaHashMap deluje hitreje.TreeMap v primerjavi s HashMap deluje počasneje.


Opredelitev HashMap-a

HashMap je razred Map. Uporablja hash table, kot podatkovna struktura za shranjevanje parov vrednosti ključev zemljevidov. Vstavljanje para ključ-vrednost se izvede s pomočjo koda hash od tipke. Zato mora biti vsak ključ na zemljevidu edinstven, saj se bo uporabljal za pridobivanje vrednosti.

Vrstni red vstavljanja v HashMap je ne ohranjeno, kar pomeni, da objekt hashmap ne vrne elementov v vrstnem redu, kot so bili vstavljeni. Po drugi strani vrstni red vrnitve elementov ni določen.

The ključ je dovoljeno biti NIČ naenkrat, ampak the vrednosti je lahko NIČ kadar koli. HashMap lahko vsebuje heterogena predmeti za ključe in tudi vrednosti.

Obstajajo štirje konstruktorji HashMap-a:

HashMap () HashMap (Zemljevid m) HashMap (int kapaciteta), HashMap (int kapaciteta, float fillRatio)

The prvi konstruktor ustvari prazen predmet HashMap-a. The drugič konstruktor inicializira HashMap s pomočjo elementov Map m. The tretjič konstruktor inicializira HashMap z zmogljivostjo, navedeno v argumentu. The četrti konstruktor inicializira zmogljivost in razmerje polnjenja objekta HashMap.


Privzeto zmogljivost HashMap je 16, in privzeto razmerje polnjenja HashMap je 0.75.

Opredelitev TreeMap

Tako kot HashMap, TreeMap je tudi razred Map. TreeMap se razširi AbstractMap razred in pripomočki NavigabelMap in Razvrščeno karto. Predmeti TreeMap hranijo elemente zemljevida v drevesni strukturi. Podatkovna struktura, uporabljena za shranjevanje Zemljevida, je Rdeče-črno drevo.

TreeMap shranjuje par ključev v urejenem vrstnem redu, kar pomaga pri hitrem iskanju elementov. Predmet TreeMap vrne elemente v razvrščeno (naraščajoče) naročilo.

Obstajajo štirje konstruktorji TreeMap-a:

TreeMap () TreeMap (Primerjalnik <? Super K> comp) TreeMap (Map <? Podaljša K,? Razširja V> m) TreeMap (SortedMap sm)

The prvi konstruktorji ustvarijo prazen objekt TreeMap, ki bi ga razvrstili v naravnem vrstnem redu. The drugič bo konstruktor ustvaril prazen drevesni zemljevid, ki ga bo razvrstil po Primerjalnik cmp. The tretjič Konstruktor zgoraj bo ustvaril kazalo, ki se bo inicializiralo z vnosi Zemljevid m. The četrti konstruktor ustvari kazalo, ki se bo inicializiralo z vnosi Razvrščeno karto sm.

Treemap nima nobene nove metode, uporablja metodo vmesnikov NavigableMap in SortedMap ter razred AbstractMap.

  1. Oba razreda se uporabljata za ustvarjanje objektov zemljevidov, vendar je osnovna razlika med HashMap-om in Treemap-om ta, da HashMap ne vzdržuje vrstnega reda vstavljanja, medtem ko Treemap.
  2. Struktura podatkov, ki jo Hashmap uporablja za shranjevanje elementov zemljevida, je hash tabela, podatkovna struktura, ki jo TreeMap uporablja za shranjevanje elementov zemljevida, pa je rdeče-črno drevo.
  3. Oba razreda Hashmap in Treemap razširita razred AbstractMap, vendar razred HashMap izvaja vmesnik Map in TreeMap izvaja vmesnika NavigableMap in SortedMap.
  4. V obeh vrednostih je lahko vrednost Null poljubno število, vendar je ključ v HashMap-u dovoljen le enkrat, ključ pa nikoli ne sme biti v Treemapu.
  5. Delovanje HashMap je hitrejše, ne izgublja časa za razvrščanje elementov zemljevida, kot to počne TreeMap. Zato TreeMap deluje počasneje kot HashMap.

Zaključek:

TreeMap je treba uporabljati samo, kadar potrebujete par ključ vrednosti v razvrščeni obliki. Ker razvrščanje vključuje stroške izvedbe. Sinhroniziran HashMap deluje hitreje.