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 kursus og program

    Forskel mellem kursus og program

    Nøgleforskel: Når den bruges i højere studier (College) i USA eller Canada, refererer kurset til en klasse, der normalt varer et semester eller et akademisk semester. På den anden side er programmet et andet begreb, der bruges til graden. For nogen, der for nylig har startet processen med at søge på college, er der mange vilkår, som de vil komme på tværs af, der vil forvirre dem. Når man
  • forskel mellem: Forskel mellem tømmer og tømmer

    Forskel mellem tømmer og tømmer

    Hovedforskel: 'Timber' og 'timber', til de fleste formål er synonymer. Men de er måske dommer til lidt forskellige ting, når de overvejer sammenhængen mellem den amerikanske engelsk og britiske engelsk. Til ethvert formål kan træ eller tømmer bruges til at referere til ethvert trin i træet, efter at træet er blevet skåret ned. Dette ka
  • forskel mellem: Forskel mellem Obscenity, Profanity og Vulgarity

    Forskel mellem Obscenity, Profanity og Vulgarity

    Nøgleforskel: Obsken indeholder ord, gestus og billeder, der når de vises til en anden, anses for ulovlige. Profanitet er normalt betragtes som forbandelse eller siger dårlige ting om Gud og hans folk. Vulgar ville indeholde nogen af ​​de ovennævnte og også andre kontroversielle emner. Gå rundt i huset i mørket og pludselig hører du et sammenbrud i det andet rum, der resulterer i at du hopper to fødder i luften, og en farverig eksplosiv ('F' -ordet) undslipper din mund. Er du profa
  • forskel mellem: Forskel mellem HDMI, VGA og DVI

    Forskel mellem HDMI, VGA og DVI

    Nøgleforskel: HDMI eller High Definition Media Interface, er nyeste tilslutning til kabler, der bruges til at forbinde videoenheder til processorer som CPU'er. VGA eller Video Graphics Array er det ældste kabel og er i øjeblikket det mest almindelige videokabel, der bruges til at forbinde skærme til CPU'erne. DV
  • forskel mellem: Forskel mellem Sony Xperia J og Sony Xperia S

    Forskel mellem Sony Xperia J og Sony Xperia S

    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. Xperia S har en 4, 3-tommers TFT-berøringsskærm med splittesikkert ark på ridsefast glas. Di
  • forskel mellem: Forskel mellem angst og stress

    Forskel mellem angst og stress

    Nøgleforskel: Angst er en følelse af frygt, uro og bekymring. Det kan være rodfæstet under alle omstændigheder, der får en til at føle sig frustreret, vred eller nervøs. Stress er det normale svar en person har til forskellige, krævende stimuli i naturen. Stress er et fælles svar, som en persons krop udviser, når det møder forskellige situationer, overvældende og krævende. Angst og str
  • forskel mellem: Forskel mellem certifikat og eksamensbevis

    Forskel mellem certifikat og eksamensbevis

    Hovedforskel: Et eksamensbevis er et dokument, der udstedes af en uddannelsesinstitution, som f.eks. Et kollegium eller et universitet. Det angiver, at modtageren har gennemført en vellykket studie. Et certifikat er dog et dokument, der angiver en vis faktum eller akkreditering, eller det kan bruges til at bevise, at noget der er angivet i certifikatet, er sandt.
  • forskel mellem: Forskel mellem Facebook Wall og Timeline

    Forskel mellem Facebook Wall og Timeline

    Nøgleforskel: Facebook Wall var det oprindelige profilrum, der blev tilbudt, da brugerne sluttede sig til Facebook. Væggen har et feed-lignende layout, hvor nyheder eller opdateringer fra venner bliver synlige. Facebook Tidslinje er den nyeste layoutopdatering til Facebook. Selskabet tilbød dog i første omgang det på prøve. Men
  • forskel mellem: Forskel mellem Samsung Galaxy Tab 3 7.0 og Samsung Galaxy S4

    Forskel mellem Samsung Galaxy Tab 3 7.0 og Samsung Galaxy S4

    Nøgleforskel: Samsung Galaxy Tab 3 7, 0 sport en 7-tommers WSVGA TFT touchscreen og har dimensionerne 188 x 111, 1 x 9, 9 mm, hvilket gør enheden tyndere sammenlignet med den tidligere tablet. Tabletter er faktisk målrettet mod low-end-serien. Samsung Galaxy S4 er efterfølgeren til den meget populære Samsung Galaxy S3. Vir

Redaktørens Valg

Forskel mellem Hotel og Motel

Hovedforskel : Moteller er generelt rettet mod familier, der er på vejreture og for bilister, der længes efter en behagelig seng at sove i for natten. Hoteller er derimod langt mere avancerede med det formål at øge turismen. Der er forskellige forskelle mellem hoteller og moteller. Moteller er generelt rettet mod familier, der er på road trips og for bilister, der længes efter en behagelig seng at sove i for natten. Mote