Nøkkelforskjell : I datavitenskap har en hashTable eller hashMap en datastruktur som kobler nøkler (navn) med verdier (attributter). I Java er det noen viktige forskjeller mellom de to som: HashTable er synkronisert og HashMap er usynkronisert. En HashTable tillater ikke null nøkler. En HashMap tillater imidlertid en null null-tast og et hvilket som helst antall nullverdier.
HashMap og hashTable er datastrukturer som er deler av Java-samlingen. De bruker nøkkelverdier for å lagre objekter. De deler begge noen likheter, som både implementer java.util.Map-grensesnitt og begge arbeider med prinsippet om hashing. Men når vi refererer til dem i sammenheng med Java-programmeringsspråket, er det mange forskjeller mellom de to.
En hashTable brukes til å lagre og hente en verdi ved hjelp av en tast. For dette formålet må nøkkelen være unik. Tabellen som brukes til å lagre nøkkel- og verdiparene, kalles et hashbord. Et hasjbord dannes ved å bruke en algoritme som har taster nøklene. Denne hash-funksjonen brukes til å tilordne tall til inngangsdataene, og deretter lagres dataene som arrayindeksen som tilsvarer det beregnede eller evaluerte nummer.
Sammenligning mellom HashMap og HashTable:
HashMap | hashtabellen | |
synkronisering | Det er ikke synkronisert | Den er synkronisert (trådsikker) |
Nullverdier | Det tillater nullverdier som nøkkel og verdi | Det tillater ikke nulls |
Introduksjon i Java | Java versjon 1.2 | Første versjon av Java Development Kit |
Opptreden | Forholdsvis bedre | Relativt dårlig |
Strekker | Det strekker seg AbstractMap klasse | Det utvider ordboksklassen som er ganske gammel |
Iterasjon av nøkler | Iterator brukes til iterering av nøklene | Opptaksgrensesnitt brukes til iterering av nøkler |
applikasjoner | Bedre for ikke-gjengede applikasjoner | Generelt, trygt for multithreaded applikasjoner |
serialisering | Ikke serialisert | serialisert |
Alternativ | Man kan bruke samtidig hashMap for multi-thread miljø | Ingen slik alternativ |