Forskel mellem HashMap og HashTable

Nøgleforskel: I datalogi har en hashTable eller en hashMap en datastruktur, der forbinder nøgler (navne) med værdier (attributter). I Java er der nogle vigtige forskelle mellem de to som: HashTable er synkroniseret, og HashMap er usynkroniseret. En HashTable tillader ikke nul nøgler. En HashMap tillader dog en enkelt nul-nøgle og et hvilket som helst antal null-værdier.

HashMap og hashTable er datastrukturer, der er dele af Java-samlingen. De bruger nøgleværdipar for at gemme objekter. De deler begge nogle ligheder, som både implementer java.util.Map interface og begge arbejder på princippet om hashing. Men når vi henviser til dem i sammenhæng med Java-programmeringssproget, er der mange forskelle mellem de to.

En hashTable bruges til at gemme og hente en værdi ved hjælp af en nøgle. Til dette formål skal nøglen være unik. Tabellen, der bruges til at gemme nøgle- og værdiparerne, er kendt som et hashbord. Et hashbord er dannet ved at bruge en algoritme, der har tasterne. Denne hash-funktion bruges til at tildele numre til inputdataene, og derefter lagres dataene som arrayindekset, der svarer til det beregnede eller evaluerede nummer.

Som en hashTable arbejder en hashMap også på de samme principper for hash. Det kan betragtes som en hash-tabelbaseret implementering af kortgrænsefladen. Det adskiller sig dog fra hashTable på få punkter. HashMap er usynkroniseret, mens hashTable er synkroniseret. Synkronisering betyder, at kun en tråd er i stand til at ændre bordet på en partikeltid. For at udføre en opdateringsoperation på hashTable skal der således erhverves en lås på bordet. For den pågældende tid må de andre tråde vente. Efter oplåsningen kan de andre tråde fortsætte og arbejde på bordet. En anden stor forskel mellem de to er, at hashTable ikke tillader en null nøgle. HashMap tillader imidlertid en enkelt nul-nøgle og et hvilket som helst antal null-værdier.

Sammenligning mellem HashMap og HashTable:

HashMap

Hashtabelsamling

Synkronisering

Det er ikke synkroniseret

Det er synkroniseret (tråd sikker)

Nullværdier

Det tillader null værdier som nøgle og værdi

Det tillader ikke nulls

Introduktion i java

Java version 1.2

Første version af Java Development Kit

Ydeevne

Forholdsvis bedre

Relativt dårlig

udvider

Det udvider AbstractMap klasse

Det udvider ordklassen, som er ret gammel

Iteration af nøgler

Iterator bruges til at gentage tasterne

Opgørelsesinterface bruges til iterering af nøgler

Applikationer

Bedre til ikke-gevind applikationer

Generelt sikkert for multithreaded applikationer

serialisering

Ikke serialiseret

føljeton

Alternativ

Man kan bruge samtidige hashMap til multi-thread miljø

Intet sådant alternativ

Anbefalet

Relaterede Artikler

  • forskel mellem: Forskel mellem Sony Xperia J og Micromax A116 Canvas HD

    Forskel mellem Sony Xperia J og Micromax A116 Canvas HD

    Nøgleforskel: Xperia J blev annonceret i oktober 2012 som en billigere variant af Xperia T, hvilket resulterede i, at telefonen har et lignende design til T. Xperia J har en 4 tommer ridsikker TFT touchscreen, der giver en pixeldensitet af 245. Micromax A116 Canvas HD er efterfølgeren til den meget populære Micromax A110 Canvas 2 og er bedre end sin forgænger på alle måder. Den
  • forskel mellem: Forskel mellem te parti og republikanske

    Forskel mellem te parti og republikanske

    Nøgleforskel: Det Republikanske Parti er en af ​​de to største partier i USA. Republikspartiet er stolt af amerikansk konservatisme. Tepartiet er på den anden side ikke et politisk parti overhovedet. Det er faktisk en politisk bevægelse, der går ind for en reduktion i USAs statsgælds- og føderale budgetunderskud ved at reducere amerikanske regeringsudgifter og skatter. Det repub
  • forskel mellem: Forskel mellem cement og beton

    Forskel mellem cement og beton

    Hovedforskel: Cement er et bindemiddel, et stof, der bruges til at binde sammen materialer. Et bindemiddel er et stof, der sætter og hærder selvstændigt. Beton er en kombination af cement og aggregat, et stærkt byggemateriale, der varer i alderen på trods af miljømæssige virkninger. Cement er et bindemiddel, et stof, der bruges til at binde sammen materialer. Det g
  • forskel mellem: Forskel mellem havsalt og rocksalt

    Forskel mellem havsalt og rocksalt

    Hovedforskel: Havsalt opnås ved at fordampe havvand. Sten salt opnås i form af mineral kendt som halit. Havsalt er tilgængeligt i form af fine korn eller store krystaller. På den anden side er rocksalt et stort krystal salt. Hav og sten er to forskellige typer salte. Faktisk indeholder alle salte natriumchlorid. Ha
  • forskel mellem: Forskel mellem Alcatel One Touch Idol Ultra og HTC First

    Forskel mellem Alcatel One Touch Idol Ultra og HTC First

    Hovedforskel: Alcatel One Touch Idol Ultra har en 4, 65 tommer HD AMOLED kapacitiv berøringsskærm med en opløsning på 720 x 1280 pixels. Telefonen er drevet af Dual-core 1.2 GHz processor på MediaTek MTK 6577 og 1 GB RAM. Telefonen har en bredde på 6, 45 mm, hvilket har ført til, at selskabet har den som den tyndeste smartphone på markedet. HTC Fi
  • forskel mellem: Forskel mellem HeartGold og SoulSilver

    Forskel mellem HeartGold og SoulSilver

    Hovedforskel: HeartGold og SoulSilver spiller rollespilspil til Nintendo DS baseret på Pokémon-franchisen. De blev udgivet som et par i 2009 i Japan. Spillene blev udgivet til Nordamerika, Australien og Europa i marts 2010. Spilleren vil støde på Kimono Girls gennem hele spillet. Efter at have kæmpet dem alle på en række, vil spilleren få lov til at møde en legendarisk fuglspecifik: Ho-Oh i HeartGold og Lugia i SoulSilver. HeartGo
  • forskel mellem: Forskel mellem Simile og Metafor

    Forskel mellem Simile og Metafor

    Nøgleforskel: Både Simile og Metafor er to forskellige måder at foretage sammenligninger på, men den måde, de gør det i, adskiller sig fra hinanden. Den primære forskel mellem deres sammenligninger er, at mens metafor korrelerer to uafhængige ting, sammenligner en simil to eller flere ting ved direkte og selvfølgelig at skabe en sammenhæng med bestemte ord for at forbinde dem. Engelsk
  • forskel mellem: Forskel mellem spil og sport

    Forskel mellem spil og sport

    Nøgleforskel: Et spil er hovedsageligt et struktureret spil, der finder sted til nydelse. Nogle spil kan også være uddannelsesmæssige. Det er en rekreativ aktivitet. Det kan involvere en eller flere spillere. Et spil har normalt mål, regler, udfordring og interaktion. En sport er derimod en fysisk aktivitet. Det
  • forskel mellem: Forskel mellem MPEG4 og MPEG7

    Forskel mellem MPEG4 og MPEG7

    Hovedforskel: MPEG står for gruppen Moving Picture Experts. MPEG4 blev udgivet i 1999 og blev udviklet som en kodningsmetode til enheder med begrænsede ressourcer, primært bærbare enheder som medieafspillere og mobiltelefoner. Dette format er også ofte for online video- og lydfiler, primært streaming media, såvel som til cd-distribution, telefon, videofon og tv-programmer. MPEG7

Redaktørens Valg

Forskel mellem Earth 1 og Earth 2

Nøgleforskel: Earth 1 eller Earth One er det primære univers, hvor de fleste af DC-historier finder sted. Earth 2 eller Earth Two er DC universet før 1940, med Golden Age Superheroes. DC Comics startede som "National Publications" og oprindeligt udgivne tegneserier med superhelte som Superman, Batman, Wonder Woman, Green Lantern, Justice League of America og Teen Titans, der startede i 1930'erne og 40'erne. D