Java HashMap vs Hashtable: Aký je rozdiel?



Tento článok o prostredí Java HashMap vs Hashtable vám poskytne informácie o programoch Java HashMap a Hashtable a tiež o hlavných rozdieloch medzi týmito dvoma

Na vstupnej úrovni jeden z najčastejšie kladených dotazov je o Java HashMap vs Hashtable. Musíte byť teda plne pripravení odpovedať na čokoľvek, čo s tým súvisí HashMap alebo Hashtable. Java využíva programy HashMap a Hashtable na ukladanie údajov vo forme súborov kľúč a hodnoty . Tento článok vám teda pomôže zistiť hlavné rozdiely medzi týmito dvoma.

Budem diskutovať o témach v tomto poradí:





Poďme začať!

cast double to int v jave

Čo je HashMap?

HashMap je trieda zbierky založenej na mape v ktorý sa používa na ukladanie údajov do párov kľúčov a hodnôt. Pomáha pri implementácii rozhrania Map v Jave. Je to v podstate súčasť od verzie Java 1.2 a poskytuje základnú implementáciu rozhrania Map v Jave. Ak chcete získať prístup k hodnote v rámci HashMap, musíte poznať jej Kľúč .



Nazýva sa HashMap, pretože používa techniku ​​tzv Hašovanie . Hašovanie je proces premeny veľkého na menší udržiavaním konštantnej hodnoty reťazca. Výsledná komprimovaná hodnota pomáha pri indexovaní a rýchlejšom vyhľadávaní.

HashMap v prostredí Java-JavaHashMap vs Hashtable-Edureka

Čo je to Hashtable?

Hashtable je a dátová štruktúra ktorý sa používa na ukladanie párov kľúčov / hodnôt. V tabuľke Hashtable sú údaje uložené vo formáte poľa, kde každá údajová hodnota má svoju vlastnú jedinečnú hodnotu indexu. K dátam máte skutočne rýchly prístup, ak poznáte index požadovaných údajov.



Trieda Java Hashtable implementuje hashtable, ktorá mapuje kľúče k hodnotám. Zdedí triedu Slovník a implementuje rozhranie Mapy.

triediť pole v c ++

Vyhlásenie o hashtable

public class Hashtable extends Slovník implementuje Map, Cloneable, Serializable

K: Jedná sa o typ kľúčov, ktoré sa nachádzajú na mape.
V: Toto je typ mapovaných hodnôt.

Teraz, keď ste pochopili, ako fungujú programy HashMap a Hashtable v jazyku Java, poďme sa pozrieť na parametre, aby sme pochopili rozdiely medzi programami HashMap a Hashtable.

Teraz poďme poukázať na hlavné rozdiely medzi HashMap a Hashtable.

Java HashMap vs Hashtable

Parametre HashMap Hashtable

Synchronizácia

Nesynchronizované znamená, že nie je bezpečné pre vlákna a bez správneho synchronizačného kódu ho nemožno zdieľať medzi veľa vlákien.Synchronizované a možno ich zdieľať s mnohými vláknami

Nulové kľúče

Umožňuje iba jeden nulový kľúč a viac nulových hodnôtNepovolí nulový kľúč ani jeho hodnotu

Legacy System

Toto je súčasť zbierok JavaHashtable je dedičná trieda, ktorá nebola súčasťou počiatočnej verzie

Iterátor

Iterátor je rýchly a zlyhá a vyvolá concurrentModificationException, ak sa akékoľvek iné vlákno pokúsi upraviť mapuEnumerátor nie je rýchly

Trieda dedenia

Dedí AbstractMap triedaZdedí triedu Slovník

Kedy teraz môžete použiť Java HashMap a Hashtable?

čo je znak v jave

Kedy použiť HashMap a Hashtable?

  • Synchronizácia je hlavný rozdiel medzi Java HashMap a Hashtable. Ak je ale potrebné vlákno bezpečné fungovanie, je možné použiť Hashtable, pretože všetky jeho metódy sú synchronizované. Ale toto je stará trieda a je potrebné sa im vyhnúť. To nie je možné pomocou HashMap.
  • Pre prostredie s viacerými vláknami môžete použiť ConcurrentHashMap, ktorá je takmer podobná Hashtable. Tu môžete dokonca explicitne synchronizovať HashMap
  • Výsledkom synchronizovanej operácie je slabý výkon, preto je potrebné sa jej vyhnúť, pokiaľ to nie je potrebné. Preto pre prostredie bez vlákien sa HashMap určite používa bez akýchkoľvek pochýb.

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli rozdiely medzi Java HashMap a Hashtable. Dúfam, že máte s touto témou jasno.

Ak sa vám tento článok týka témy „Java HashMap vs Hashtable“, pozrite si stránku dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Kurz je navrhnutý tak, aby vám dal náskok a naučia vás základné aj pokročilé koncepty Java spolu s rôznymi ako Hibernate & Spring.

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Java HashMap vs Hashtable“ a náš tím vám rád odpovie.