Keskeinen ero: Tietojenkäsittelytieteessä hashTable tai hashMap viittaa tietorakenteeseen, joka yhdistää avaimet (nimet) arvoihin (attribuutit). Java: ssa on joitakin tärkeitä eroja näiden kahden välillä: HashTable on synkronoitu ja HashMap on synkronoimaton. HashTable ei salli nullavaimia. HashMap mahdollistaa kuitenkin yhden nolla-avaimen ja minkä tahansa määrän nolla-arvoja.
HashMap ja hashTable ovat Java-kokoelman osia. He käyttävät avainarvopareja esineiden tallentamiseksi. Molemmat jakavat samanlaisia yhtäläisyyksiä, kuten sekä java.util.Map-käyttöliittymän että molemmat työskentelevät hajautusperiaatteen mukaisesti. Kun kuitenkin viitataan niihin Java-ohjelmointikielen yhteydessä, näiden kahden välillä on lukuisia eroja.
Häiriötä käytetään tallentamaan ja hakemaan arvon käyttämällä näppäintä. Tätä varten avaimen on oltava ainutlaatuinen. Taulukkoa, jota käytetään avain- ja arvoparien tallentamiseen, kutsutaan hash-taulukoksi. Hajautustaulukko muodostetaan käyttämällä algoritmia, joka hajauttaa avaimet. Tätä hash-funktiota käytetään antamaan numeroita tulodatalle, ja sitten data tallennetaan matriisin indeksiksi, joka vastaa laskettua tai arvioitua numeroa.
HashMapin ja HashTablein vertailu:
HashMap | Hashtable | |
tahdistus | Se ei ole synkronoitu | Se on synkronoitu (langan turvallinen) |
Null-arvot | Se sallii nolla-arvot avaimena ja arvona | Se ei salli nollia |
Johdatus javaan | Java-versio 1.2 | Ensimmäinen Java-kehityspaketin versio |
Esitys | Verrattain parempi | Verrattain huono |
ulottuu | Se ulottuu AbstractMap-luokkaan | Se laajentaa sanakirjaryhmää, joka on varsin vanha |
Näppäimien iterointi | Iteraattoria käytetään avainten iterointiin | Laskenta-liitäntää käytetään avainten iteroimiseen |
Sovellukset | Parempi ei-kierteisille sovelluksille | Yleensä turvallinen monisäikeisille sovelluksille |
serialization | Ei serializoitu | serialized |
vaihtoehto | Voidaan käyttää samanaikaista hashMapia monisäikeiseen ympäristöön | Ei tällaista vaihtoehtoa |