Rozdiel medzi HashMap a HashTable

Kľúčový rozdiel: V informatike má hashTable alebo hashMap odkaz na dátovú štruktúru, ktorá spája kľúče (mená) s hodnotami (atribútmi). V jazyku Java existujú medzi týmito dvoma dôležitými rozdielmi: HashTable je synchronizovaný a HashMap je nesynchronizovaný. HashTable nepovoľuje nulové kľúče. HashMap však umožňuje jediný nulový kľúč a ľubovoľný počet nulových hodnôt.

HashMap a hashTable sú dátové štruktúry, ktoré sú súčasťou kolekcie Java. Na ukladanie objektov používajú páry kľúč-hodnota. Obaja zdieľajú niektoré podobnosti, ako je implementácia rozhrania java.util.Map a obe pracujú na princípe hashovania. Avšak, keď ich odkazujeme do kontextu s programovacím jazykom Java, existujú medzi nimi obrovské rozdiely.

Heslo typu hashTable sa používa na ukladanie a načítanie hodnoty pomocou kľúča. Na tento účel musí byť kľúč jedinečný. Tabuľka, ktorá sa používa na ukladanie dvojíc kľúčov a hodnôt, je známa ako tabuľka hash. Hash tabuľka je vytvorená pomocou algoritmu, ktorý má kľúče. Táto funkcia hash sa používa na priradenie čísiel vstupným údajom a potom sa dáta ukladajú ako index poľa, ktorý zodpovedá vypočítanému alebo vyhodnotenému číslu.

Rovnako ako hashTable, hashMap pracuje aj na rovnakých princípoch hashovania. Môže sa to považovať za implementáciu mapového rozhrania založenú na hash table. Rozlišuje sa však od hashTable na niekoľkých bodoch. HashMap je nesynchronizovaný, zatiaľ čo hashTable je synchronizovaný. Synchronizácia znamená, že v čase častice je možné upraviť tabuľku len s jednou závitom. Ak chcete vykonať operáciu aktualizácie na hashTable, musí byť zámok získaný na stole. V tomto konkrétnom čase musia ostatné vlákna čakať. Po odomknutí môžu ostatné vlákna pokračovať a pracovať na stole. Ďalším hlavným rozdielom medzi týmito dvoma je, že hashTable neumožňuje nulový kľúč. HashMap však umožňuje jediný nulový kľúč a ľubovoľný počet nulových hodnôt.

Porovnanie HashMap a HashTable:

HashMap

Hashtable

synchronizácia

Nie je synchronizovaný

Je synchronizovaná (bezpečné vlákno)

Nulové hodnoty

Umožňuje hodnotu null ako kľúč a hodnotu

Nepovoľuje nuly

Úvod do java

Java verzia 1.2

Prvá verzia vývojovej sady Java

výkon

Porovnateľne lepšie

Porovnateľne slabé

rozširuje

Rozširuje triedu AbstractMap

Rozširuje triedu slovníkov, ktorá je dosť stará

Iterácia kľúčov

Iterátor sa používa na iteráciu kľúčov

Rozhranie výčtu sa používa pre klávesy s iteráciou

aplikácia

Lepšie pre aplikácie bez závitov

Vo všeobecnosti je bezpečné pre viacvláknové aplikácie

serializácie

Nie je serializované

serializovaný

alternatívne

Jeden môže použiť súbežný hashMap pre prostredie s viacerými vláknami

Žiadna takáto alternatíva

Odporúčaná

Súvisiace Články

  • rozdiel medzi: Rozdiel medzi virtuálnou realitou a rozšírenou realitou

    Rozdiel medzi virtuálnou realitou a rozšírenou realitou

    Kľúčový rozdiel: Základným rozdielom medzi virtuálnou realitou a rozšírenou realitou je to, že vo virtuálnej realite ideme do virtuálneho sveta, zatiaľ čo v augmented reality prinášame virtuálny svet do reálneho sveta. Aby sme pochopili rozdiel medzi virtuálnou realitou a rozšírenou realitou, musíme ich najprv porozumieť individuálne. Virtuálna realita sa t
  • rozdiel medzi: Rozdiel medzi mobilným a internetovým bankovníctvom

    Rozdiel medzi mobilným a internetovým bankovníctvom

    Kľúčový rozdiel: Hlavným rozdielom medzi mobilným bankovníctvom a internetovým bankovníctvom je to, že mobilné bankovníctvo je prístupné prostredníctvom aplikácie na telefóne, zatiaľ čo internetové bankovníctvo je prístupné prostredníctvom prehliadania, zvyčajne na počítači. V dnešnom digitálnom veku
  • rozdiel medzi: Rozdiel medzi palmovým olejom a kokosovým olejom

    Rozdiel medzi palmovým olejom a kokosovým olejom

    Hlavný rozdiel: Kokosový olej sa extrahuje z jadra alebo z mäsa zrelého a zozbieraného kokosového orecha; zatiaľ čo palmový olej sa extrahuje z buničiny ovocia. Tieto sú celosvetovo známe svojimi kulinárskymi a liečebnými aplikáciami. Z ich názvov je možné okamžite spomenúť, že tieto oleje patria do dvoch originálnych zdrojov. Palm a kokosový olej s
  • rozdiel medzi: Rozdiel medzi podozrivým a obvineným

    Rozdiel medzi podozrivým a obvineným

    Kľúčový rozdiel: Podozrivý je osoba, o ktorej sa verí, že je ten, kto spáchal vyšetrovaný zločin. Na druhej strane, obvinený odkazuje na osobu, ktorá je obvinená zo spáchania trestného činu. Podozriví a obvinení sú dva kľúčové pojmy týkajúce sa vyšetrovania trestných činov, najmä počas policajného vyšetrovania. Mnohokrát ľudia majú tendenciu
  • rozdiel medzi: Rozdiel medzi šťava a squash

    Rozdiel medzi šťava a squash

    Kľúčový rozdiel: Šťava je nápoj, ktorý je odvodený získaním kvapaliny z ovocia a zeleniny. Squash je sladená koncentrovaná šťava, ktorá sa po zriedení spotrebuje. Šťava je kvapalina, ktorá je prirodzene prítomná v ovocí a zelenine. Stláča sa z ovocia a zeleniny pomocou techník, ako je drvenie atď. Šťava sa zvyčajne používa
  • rozdiel medzi: Rozdiel medzi HTC Windows 8X a Sony Xperia SP

    Rozdiel medzi HTC Windows 8X a Sony Xperia SP

    Kľúčový rozdiel: HTC Windows 8X má 4, 3 palcovú kapacitnú dotykovú obrazovku S-LCD2, ktorá poskytuje hustotu pixelov 342ppi. Obrazovka je chránená pomocou gorilového skla 2, čo robí to docela trvanlivé a menej náchylné na škrabance. Telefón je docela šikovný a tenký, s hmotnosťou iba 130 gramov. Xperia SP je 4, 6 pal
  • rozdiel medzi: Rozdiel medzi nadchádzajúcim a nadchádzajúcim

    Rozdiel medzi nadchádzajúcim a nadchádzajúcim

    Kľúčový rozdiel: Nadchádzajúce a blížiace sa pojmy sú z veľkej časti synonymá. Termín "blížiaci sa" má však širší rozsah definícií ako "blížiaci sa". Stručne povedané, blížiace sa prostriedky prinášajú alebo vychádzajú, zatiaľ čo nadchádzajúce znamená niečo, čo sa blíži. Nadchádzajúce a nadchádzajúce pojmy sú č
  • rozdiel medzi: Rozdiel medzi Spice Stellar Pinnacle Pro a Nexus 4

    Rozdiel medzi Spice Stellar Pinnacle Pro a Nexus 4

    Hlavný rozdiel: Spice Stellar Pinnacle Pro Mi-535 je stredne veľký štvorjadrový telefón s rýchlosťou 1, 2 GHz. Spúšťa Android 4.2 Jelly Bean a je napájaný 1 GB RAM. Telefón má 8 MP fotoaparát s automatickým zaostrovaním a LED bleskom. Telefón je vybavený aj 5-násobným širokouhlým sekundárnym fotoaparátom s automatickým zaostrovaním. Nexus 4 je štvrtý smartpho
  • rozdiel medzi: Rozdiel medzi kurzom a programom

    Rozdiel medzi kurzom a programom

    Kľúčový rozdiel: ak sa používa vo vyšších štúdiách (vysoká škola) v Spojených štátoch alebo v Kanade, kurz odkazuje na triedu, ktorá zvyčajne trvá jeden semester alebo jeden akademický termín. Na druhej strane, program je ďalším pojmom, ktorý sa používa na získanie titulu. Pre niekoho, kto nedávno za

Redakcia Choice

Rozdiel medzi autorom a editorom

Kľúčový rozdiel: "Autor" je ten, kto pôvodne vytvoril vlastný obsah, zatiaľ čo "editor" je ten, kto ho upravuje. Autor a redaktor pracujú v korešpondencii s iným, to znamená, že obe zohrávajú primárnu úlohu pri štruktúrovaní akéhokoľvek obsahu. Vlastne autor inicializuje obsah a editor ho formuje. Obidva sú z hľadiska