Razlika med Java in TashMap
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.
- Primerjalna tabela
- Opredelitev
- Ključne razlike
- Zaključek
Primerjalna tabela
Osnove za primerjavo | HashMap | TreeMap |
---|---|---|
Osnovni | HashMap ne vzdržuje vrstnega reda vstavljanja. | TreeMap vzdržuje vrstni red vstavljanja. |
Podatkovna struktura | HashMap 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 izvedbe | HashMap razširja razred AbstractMap in izvaja vmesnik Map. | TreeMap razširja razred AbstractMap in izvaja vmesnike SortedMap in NavigableMap. |
Izvedba | HashMap 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 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. 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.
Zaključek: