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

  • populárne porovnania: Rozdiel medzi vitrifikovanými dlaždicami a porcelánovými dlaždicami

    Rozdiel medzi vitrifikovanými dlaždicami a porcelánovými dlaždicami

    Kľúčový rozdiel: Vitrifikované dlaždice sa vzťahujú na dlaždice, ktoré sa vyrábajú procesom vitrifikácie. V tomto procese sa na pečenie dlaždíc používajú vysoké teploty. Porcelánové dlaždice sú tiež vitrifikované dlaždice a vo všeobecnosti spadajú do kategórie plne vitrifikovaných dlaždíc. To znamená, že porcelánová tašk
  • populárne porovnania: Rozdiel medzi Cook a Chef

    Rozdiel medzi Cook a Chef

    Kľúčový rozdiel: Každá osoba, ktorá varí jedlo, je v podstate kuchár. Ale šéfkuchár je kuchár, ktorý absolvoval odborný kurz a / alebo učenie. Kuchár pripravuje jedlo a šéfkuchár pripravuje jedlo, takže aký je rozdiel medzi týmito dvoma? Varenie zahŕňa prípravu jedla na konzumáciu alebo konzumáciu. Kto varí jedlo, je v podst
  • populárne porovnania: Rozdiel medzi mikroprocesorom a mikrokontrolérom

    Rozdiel medzi mikroprocesorom a mikrokontrolérom

    Hlavný rozdiel : Rozdiel medzi mikroprocesorom a mikrokontrolérom spočíva v prítomnosti pamäte RAM, ROM a iných periférií v mikrokontroléroch. Mikroprocesor obsahuje len procesor a chýba ostatné komponenty. Mikroprocesor a mikrokontrolér sú oba základné procesory, ktoré sú určené na prevádzku počítačov. Funkcie obidvoch proce
  • populárne porovnania: Rozdiel medzi Burger a Sandwich

    Rozdiel medzi Burger a Sandwich

    Kľúčový rozdiel: sendvič je varený všeobecným umiestnením výplne mäsa alebo zeleniny medzi dva plátky chleba (plochý chlieb), zatiaľ čo hamburger je varený umiestnením výplne mäsa alebo zeleniny medzi bunku nakrájaný na dva. Hlavným rozdielom je: sendvič používa plochý chlieb na viazanie a hamburger používa bunku na viazanie plnenia. Sendvič sa skladá z dvoch
  • populárne porovnania: Rozdiel medzi Maruti Suzuki Alto 800 a Hyundai Eon

    Rozdiel medzi Maruti Suzuki Alto 800 a Hyundai Eon

    Kľúčový rozdiel: Maruti Suzuki Alto 800 a Hyundai Eon, obe sú malé vozidlá určené na jazdu v meste. Avšak, Eon má viac vlastností a výrazne dobrý vzhľad ako základný automobil Hyundai. Alto bol prvýkrát predstavený v roku 1979 a odvtedy došlo k mnohým zmenám vo verziách, variantoch a modeloch. Na rôznych trhoch sa p
  • populárne porovnania: Rozdiel medzi ACH a šekom

    Rozdiel medzi ACH a šekom

    Kľúčový rozdiel: Automatizovaný zúčtovací dom (ACH) je elektronická sieť, ktorá sa používa na finančné transakcie. Spracováva veľké objemy transakcií v dávkach. Elektronické prevody povoľujú banke v mene zákazníka účtovať účty a prevádzať na iné účty. Kontrola alebo kontrola odkazuje na dokument, ktorý autorizuje a poskytuje pokyny na objednanie určitej sumy platby z bankového účtu. ACH a kontrola oboch odkazuje na postu
  • populárne porovnania: Rozdiel medzi platovým účtom a bežným účtom v banke

    Rozdiel medzi platovým účtom a bežným účtom v banke

    Kľúčový rozdiel: Mzdový účet je bankový účet navrhnutý a ponúkaný hlavne osobám s platom. Bežný účet je na druhej strane účet, ktorý je navrhnutý tak, aby vyhovoval potrebám podnikateľov, firiem, firiem, verejným podnikom atď. Každý má svoje vlastné výhody a výhody. V podstate v dnešnom svete každý má bankový účet. Bankový účet uľahčuje ukladanie a pou
  • populárne porovnania: Rozdiel medzi archeológom a starožitníkom

    Rozdiel medzi archeológom a starožitníkom

    Kľúčový rozdiel: Archeológ sa zaoberá terénnymi prácami, ktoré môžu spočívať v kopaní a obnovovaní artefaktov alebo ľudských predmetov z starobylých ruín. Antikvariári, tiež známi ako starožitnosti, sa zaoberajú predovšetkým starožitnosťami alebo vecami minulosti. Medzi archeológom a starožitníkom existuje významný rozdiel. Najvýznamnejším rozdielom medzi
  • populárne porovnania: Rozdiel medzi krehký a tvárny

    Rozdiel medzi krehký a tvárny

    Kľúčový rozdiel: Krehké materiály sú ťažké, ale ľahko rozbité. Na druhej strane kujné materiály sa nedajú ľahko zlomiť ani prasknúť. Krehké a temperované sú opačné. Aj keď sa obidva zmienili o materiáloch, materiály sa s nimi manipulujú inak. Krehké materiály sú zvyčajne oceľové alebo mäkké. Materiály ako plast, bronz a toffe

Redakcia Choice

Rozdiel medzi rybou a veľrybou

Kľúčový rozdiel : Hoci sa na povrchu veľmi podobajú, ryby a veľryby sú navzájom odlišné. Najzákladnejším rozdielom medzi týmito dvoma je, že veľryby sú teplokrvné cicavce, zatiaľ čo ryby sú morské živočíchy. Podobne vo svojom vzhľade a prostredí sú ryby a veľryby všeobecne zmätené, že sú v rovnakej kategórii. V skutočnosti mnohí ľudia veria, ž