Rozdiel medzi HashMap a TreeMap

Kľúčový rozdiel - HashMap vs TreeMap
 

Pri programovaní existujú rôzne mechanizmy na zber údajov. Kolekcie sú jednou z metód ukladania údajov. Programovacie jazyky, ako napríklad Java, používajú zbierky. Je to rámec s triedami a rozhraniami na ukladanie a manipuláciu so súborom dátových prvkov. V normálnom poli je uložený pevný počet prvkov. Toto je obmedzenie polí. Namiesto toho môže programátor používať kolekcie. Operácie, ako je vkladanie, mazanie, triedenie a vyhľadávanie, sa môžu vykonávať pomocou kolekcií. V Java patrí rozhranie Map k kolekciám. Mapa sa používa na znázornenie údajov v pároch kľúčov a hodnôt. Existujú iba jedinečné kľúče a každý z nich má zodpovedajúcu hodnotu. HashMap a TreeMap sú triedy, ktoré implementujú rozhranie mapy. HashMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktoré neudržujú špecifické poradie v dátových prvkoch. TreeMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktoré udržiavajú vzostupné poradie dátových prvkov. kľúčový rozdiel medzi HashMap a TreeMap je to HashMap neudržiava špecifické poradie v dátových prvkoch, zatiaľ čo TreeMap udržuje vzostupné poradie dátových prvkov.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je HashMap
3. Čo je to TreeMap
4. Podobnosti medzi HashMap a TreeMap
5. Porovnanie vedľa seba - HashMap vs TreeMap v tabuľkovej forme
6. Zhrnutie

Čo je to HashMap?

HashMap je trieda, ktorá implementuje rozhranie mapy. Rozširuje triedu AbstractMap a implementuje rozhranie mapy. HashMap obsahuje páry kľúčov a hodnôt. Každý prvok je jedinečný. Pomocou kľúča je ľahké nájsť prvky v HashMap. Vyhlásenie HashMap je nasledujúce.

public class HashMap rozširuje AbstractMap náradie Mapa, Cloneable Serializable

K označuje kľúč, zatiaľ čo V označuje hodnotu zodpovedajúcu tomuto špecifickému kľúču. Každý pár kľúč - hodnota je záznamom HashMap.

Obrázok 01: Rozhranie mapy

Na pochopenie HaspMapu predpokladajte nasledujúci scenár. Ak chce programátor uložiť súbor mien študentov a zodpovedajúcich indexových čísel, môže použiť HashMap. Mená študentov sa používajú na nájdenie indexových čísel. Preto sú kľúčmi mená študentov, zatiaľ čo indexové čísla sú hodnoty.

Obrázok 02: Program HashMap pomocou jazyka Java

Podľa vyššie uvedeného programu sa vytvorí objekt HashMap. Programátor potom môže pomocou tohto objektu pridať prvky. Hodnoty je možné vložiť pomocou metódy put. Na načítanie hodnôt by mal programátor použiť metódu get s kľúčom. Ak používate studentList.get („150“); zodpovedajúci názov vytlačí do indexu, ktorým je Ann. Ak chce programátor získať všetky hodnoty, môže použiť Map.Entry na tlač všetkých kľúčov a hodnôt. Pri pozorovaní výstupu je zrejmé, že HashMap neudržiava konkrétny poriadok. Nevytlačí prvky v vloženom poradí. Prvky sa tlačia v náhodnom poradí.

Čo je to TreeMap?

The TreeMap je trieda v Java, ktorá implementuje rozhranie Map. Podobne ako v prípade HashMap sa používa aj na ukladanie párov kľúčov, hodnôt, ale vzostupne. TreeMap implementuje NavigableMap a NavigableMap rozširuje SortedMap a SortedMap rozširuje mapu. Každý prvok je jedinečný. Deklarovanie TreeMap je nasledovné.

public class TreeMap rozširuje AbstractMap náradie NavigableMap, Cloneable Serializable

K označuje kľúč, zatiaľ čo V označuje hodnotu zodpovedajúcu tomuto špecifickému kľúču. Každý pár kľúč - hodnota je záznamom TreeMap.

Obrázok 03: Program TreeMap pomocou Java

Podľa vyššie uvedeného programu sa vytvorí objekt TreeMap. Programátor potom môže pomocou tohto objektu pridať prvky. Hodnoty je možné vložiť pomocou metódy put. Na načítanie hodnôt by mal programátor použiť metódu get s kľúčom. Ak používate studentList.get („150“); zodpovedajúci názov vytlačí do indexu, ktorým je Ann. Ak chce programátor získať všetky hodnoty, môže použiť Map.Entry na tlač všetkých kľúčov a hodnôt. Pri pozorovaní výstupu je vidieť, že TreeMap udržuje špecifickú objednávku. Prvky sa tlačia vzostupne.

Aké sú podobnosti medzi HashMap a TreeMap?

  • HashMap aj TreeMap implementujú mapové rozhranie.
  • HashMap aj TreeMap môžu ukladať a manipulovať s mnohými prvkami.
  • HashMap aj TreeMap obsahujú páry kľúčov a hodnôt.
  • HashMap aj TreeMap môžu mať veľa nulových hodnôt.
  • Počet prvkov, ktoré môžu byť uložené v HashMap aj TreeMap, nie je nijako obmedzený.

Aký je rozdiel medzi HashMap a TreeMap?

HashMap vs TreeMap

HashMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktoré neudržujú špecifické poradie v dátových prvkoch.. TreeMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktorá udržuje vzostupné poradie dátových prvkov..
 objednať
HashMap objednávku neudržiava. TreeMap udržuje vzostupné poradie.
Kľúč Null
HashMap môže obsahovať jeden nulový kľúč. TreeMap nemôže mať nulový kľúč.
 výkon
HashMap je rýchlejší ako TreeMap. TreeMap je pomalší ako HashMap.

zhrnutie - HashMap vs TreeMap

Programovací jazyk, ako je Java, obsahuje kolekčný rámec. V poliach môže byť pevný počet prvkov. Preto by sa mala veľkosť poľa inicializovať na začiatku. V kolekciách môže programátor uložiť veľa prvkov podľa potreby. Neexistuje žiadne konkrétne množstvo na uloženie. Mapa predstavuje rozhranie, ktoré patrí do rámca zberu. HashMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktoré neudržujú špecifické poradie v dátových prvkoch. TreeMap je trieda kolekcií založená na mape, ktorá sa používa na ukladanie párov kľúčov a hodnôt, ktorá udržuje vzostupné poradie dátových prvkov. V tomto článku sa diskutuje o rozdieloch medzi HashMap a TreeMap, ktoré implementujú rozhranie Map. Rozdiel medzi HashMap a TreeMap je v tom, že HashMap neudržiava špecifické poradie v dátových prvkoch, zatiaľ čo TreeMap udržuje vzostupné poradie dátových prvkov..

referencie:

1. „HashMap v Jave - javatpoint.“ Bod, K dispozícii tu
2. „TreeMap v Jave - javatpoint.“  Bod, K dispozícii tu

S láskavým dovolením:

1.'Java.util.Mapová hierarchia'By ramlmn - Vlastná práca, (CC BY-SA 4.0) prostredníctvom Commons Wikimedia