Rozdíl mezi HashMap a HashTable

Klíčový rozdíl: V informatice má hashTable nebo hashMap odkaz na datovou strukturu, která spojuje klíče (názvy) s hodnotami (atributy). V jazyce Java existují mezi těmito dvěma důležitými rozdíly: HashTable je synchronizován a HashMap nesynchronizován. HashTable neumožňuje nulové klíče. HashMap však umožňuje jediný nulový klíč a libovolný počet nulových hodnot.

HashMap a hashTable jsou datové struktury, které jsou součástí kolekce Java. Pro ukládání objektů používají páry klíč-hodnota. Oba sdílejí některé podobnosti, jako je implementace rozhraní java.util.Map a obě pracují na principu hashování. Nicméně, když se na ně odkazujeme v kontextu s programovacím jazykem jazyka Java, existuje mezi těmito dvěma četnými rozdíly.

Heslo typu hashTable se používá k ukládání a načítání hodnoty pomocí klíče. Pro tento účel musí být klíč jedinečný. Tabulka, která slouží k ukládání párů klíčů a hodnot, je známá jako tabulka hash. Hash tabulka je tvořen pomocí algoritmu, který hashes klíče. Tato funkce hash se používá k přiřazení čísel vstupním datům a poté jsou data uložena jako index pole, který odpovídá vypočítanému nebo vyhodnocenému číslu.

Stejně jako hashTable, hashMap pracuje také na stejných principech hašování. Lze jej považovat za implementaci mapové tabulky založené na mapovém rozhraní. Nicméně se liší od hashTable na několika bodech. HashMap je nesynchronizovaný, zatímco hashTable je synchronizován. Synchronizace znamená, že v čase částic může upravit tabulku pouze jeden závit. Chcete-li provést operaci aktualizace na zařízení hashTable, musí být zámek na stole. Pro tento konkrétní čas musí ostatní vlákna čekat. Po odemknutí mohou ostatní vlákna pokračovat a pracovat na stole. Dalším velkým rozdílem mezi těmito dvěma je, že hashTable neumožňuje nulový klíč. HashMap však umožňuje jediný nulový klíč a libovolný počet nulových hodnot.

Srovnání mezi HashMap a HashTable:

HashMap

HashTable

Synchronizace

Není synchronizováno

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

Nulové hodnoty

Umožňuje hodnotu null jako klíč a hodnotu

Nepovoluje nulls

Úvod do java

Java verze 1.2

První verze vývojové sady Java

Výkon

Srovnatelně lepší

Srovnatelně špatné

Rozšiřuje

Rozšiřuje třídu AbstractMap

Rozšiřuje třídu slovníků, která je docela stará

Iterace klíčů

Iterátor se používá pro iteraci klíčů

Rozhraní výčtu se používá pro iterace klíče

Aplikace

Lepší pro aplikace bez závitů

Obvykle je bezpečný pro aplikace s více vlákny

Serializace

Není serializováno

Serializováno

Alternativní

Pro prostředí s více vlákny lze použít souběžný hashMap

Žádná taková alternativa

Doporučená

Související Články

  • populární srovnání: Rozdíl mezi účtem peněžního trhu a spořeným účtem

    Rozdíl mezi účtem peněžního trhu a spořeným účtem

    Klíčový rozdíl: Účet peněžního trhu je vyšší výnosový spořící účet, který zajišťuje lepší návratnost hotovosti na účtu. Na spořicím účtu může banka využít peníze pouze k poskytování úvěrů jiným osobám. Na účtu peněžního trhu se peníze používají pro nástroje peněžního trhu, jako jsou pokladniční poukázky, vkladové certifikáty, komunální dluhopisy apod. Na oplátku poskytují zákazníkovi vyšší úrokovou sazbu. Záloho
  • populární srovnání: Rozdíl mezi překážkou a překážkou

    Rozdíl mezi překážkou a překážkou

    Hlavní rozdíl: Slova překážka a překážka jsou typy překážek. Překážka znamená probíhající překážku, zatímco překážka znamená překážku bránící v jakémkoli úkolu. Překážka znamená "věc, která zabraňuje nebo zabraňuje pokroku". Překážka je něco, co blokuje jakýkoli pokrok. Poskytuje potíže s pokračujícím vývojem věcí.
  • populární srovnání: Rozdíl mezi Bohem a Božstvím

    Rozdíl mezi Bohem a Božstvím

    Klíčový rozdíl: Bůh a božstvo jsou synonymní. Podle jejich základních definic oba představují nejvyšší moc. Nicméně někdy Bůh jako termín je zvyklý reprezentovat jedinou nejvyšší moc, zatímco božstvo může být používáno odkazovat se na některou z forem této nejvyšší moci a tak může být vícenásobné. Bůh je obecně používán v kontextu s mužs
  • populární srovnání: Rozdíl mezi LCD a LED televizory

    Rozdíl mezi LCD a LED televizory

    Klíčový rozdíl: LCD jsou typ televizních obrazovek, které používají kapalné krystaly vložené mezi dva listy polarizačního materiálu. Televizory s LED diodami jsou stále LCD televizory, které nahrazují originální technologii LED CCFL (zářivková studená katoda) s technologií LED. Televizor s LED obrazov
  • populární srovnání: Rozdíl mezi poloviční poloviční prázdnotou

    Rozdíl mezi poloviční poloviční prázdnotou

    Klíčový rozdíl: Poloviční poloprázdná a poloprázdná se týká pohledu na realitu. Napůl plná je interpretace reality v pozitivním kontextu, zatímco napůl prázdná je spojena s výkladem reality v negativním kontextu. Položky "napůl plné" a "napůl prázdné" se používají v kontextu velmi populární fráze týkající se sklenice. Jedná se o sklo s kapalinou. Kapal
  • populární srovnání: Rozdíl mezi výnosem a úrokovou sazbou

    Rozdíl mezi výnosem a úrokovou sazbou

    Klíčový rozdíl: Výrazný rozdíl mezi výnosem a úrokovou sazbou spočívá v tom, že výnos je zisk z investice a úroková míra je důvodem pro takový zisk. Úroková míra a výnos jsou dva termíny běžně používané bankami, finančními společnostmi, makléři, investičními fondy atd., Které přitahují investory do svých
  • populární srovnání: Rozdíl mezi Asus GTX 650 a 660

    Rozdíl mezi Asus GTX 650 a 660

    Klíčový rozdíl: Asus GTX 650 a 660 jsou vysoce grafické karty stejné rodiny Asus GTX. Tyto karty slouží k odvození optimálního herního zážitku a vynikajícího rozlišení obrazovky. Rozdíl mezi těmito dvěma témy spočívá v jejich složení, rysech a výkonu. Grafické karty Asus GTX byly vytvořeny s cílem poskytnout svým uživatelům neskutečný zážitek ze hry. Kombinace živého vyjádření znaků a u
  • populární srovnání: Rozdíl mezi olivovým olejem a olivovým olejem

    Rozdíl mezi olivovým olejem a olivovým olejem

    Hlavní rozdíl: Jak jasně naznačuje jejich název, olivový olej se získává z drcených oliv, což je ovoce; zatímco olej Canola se získává z několika druhů řepkových rostlin. Oleje a olej z ořechů jsou různé druhy oleje, které se používají jako zdroj základních přísad při vaření a pečení. Podle jména se olivové oleje sklád
  • populární srovnání: Rozdíl mezi bílým rumem a temným rumem

    Rozdíl mezi bílým rumem a temným rumem

    Hlavní rozdíl: Bílé rumy mají skoro čistou a sladkou chuť. Tmavé rumy jsou poměrně populární a mají odvážnou, plnější chuť. Tmavé rumy mají také větší podíl melasy a někdy i karamelovou chuť, stejně jako nádech koření. Rum je typ alkoholu, který je vyroben z fermentované cukrové třtiny a melasy, což je sirupovitý vedlejší produkt cukrové třtiny. Proces výroby rumu zahrnuje převzetí sla

Redakce Choice

Rozdíl mezi komplexem B a B12

Hlavní rozdíl: Hlavním rozdílem mezi komplexem B a B12 je, že vitamín B12 je často považován za součást komplexu B. Komplexní doplňky vitaminu B obvykle obsahují všechny vitamíny B včetně vitamínů B1, B2, B3, B5, B6, B7, B9 a B12. Všechny jsou nezbytné pro tělo. B komplex a B12 jsou dva vitamíny. Vitamíny jsou nezbytno