Ključna razlika: V računalništvu je hashTable ali hashMap povezan s podatkovno strukturo, ki povezuje ključe (imena) z vrednostmi (atributi). V Javi obstajajo nekatere pomembne razlike med obema: HashTable je sinhroniziran in HashMap je nesinhroniziran. HashTable ne dovoljuje ničelnih ključev. Vendar pa HashMap omogoča en sam ničelni ključ in poljubno število ničelnih vrednosti.
HashMap in hashTable sta podatkovni strukturi, ki sta del zbirke Java. Za shranjevanje predmetov uporabljajo pare ključ-vrednost. Oba imata nekaj podobnosti, kot sta implementacija vmesnika java.util.Map in oba dela na načelu zgoščevanja. Vendar pa, ko se nanašamo na njih v kontekstu programskega jezika Java, obstajajo številne razlike med njima.
Za shranjevanje in pridobivanje vrednosti s tipko se uporablja hashTable. V ta namen mora biti ključ edinstven. Tabela, ki se uporablja za shranjevanje parov ključev in vrednosti, je znana kot razpršena tabela. Razpršeno tabelo se oblikuje z uporabo algoritma, ki zgošči ključe. Ta hash funkcija se uporablja za dodeljevanje številk vhodnim podatkom, nato pa se podatki shranijo kot indeks indeksa, ki ustreza izračunanemu ali ovrednotenemu številu.
Primerjava med HashMap in HashTable:
HashMap | HashTable | |
Sinhronizacija | To ni sinhronizirano | Sinhronizirana je (varna nit) |
Nične vrednosti | Omogoča ničelne vrednosti kot ključ in vrednost | Ne dovoljuje ničelne vrednosti |
Uvod v java | Java različica 1.2 | Prva različica java razvojnega kompleta |
Izvedba | Primerjalno boljši | Primerjalno slaba |
Podaljša | Razširja razred AbstractMap | Razširja slovarski razred, ki je precej star |
Iteracija ključev | Iterator se uporablja za ponavljanje ključev | Oštevilčni vmesnik se uporablja za ponavljanje ključev |
Aplikacije | Boljše za aplikacije brez navojev | Na splošno je varna za večnitne aplikacije |
Serializacija | Ne serijski | Serialized |
Alternativa | Lahko uporabite sočasno hashMap za večnitno okolje | Te alternative ni |