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.
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 |