Sākuma līmenī viens no visbiežāk uzdotajiem jautājumiem ir par Java HashMap vs Hashtable. Tāpēc jums jābūt pilnībā gatavam atbildēt uz visu, kas saistīts ar HashMap vai Hashtable. Java izmanto HashMap un Hashtable, lai datus glabātu taustiņu un vērtības . Tātad, šis raksts palīdzēs jums uzzināt galvenās atšķirības starp šiem diviem.
Es apspriedīšu tēmas šādā secībā:
Sāksim!
Kas ir HashMap?
HashMap ir kolekcijas klase, kuras pamatā ir karte ko izmanto datu glabāšanai atslēgu un vērtību pāros. Tas palīdz ieviest kartes saskarni Java. Būtībā tā ir daļa no kopš Java versijas 1.2 un nodrošina Java saskarnes pamata ieviešanu. Lai piekļūtu HashMap vērtībai, tā jāzina Atslēga .
To sauc par HashMap, jo tajā tiek izmantota tehnika, ko sauc Hašings . Jaukšana ir liela konvertēšanas process uz mazāku, saglabājot virknes vērtību nemainīgu. Iegūtā saspiestā vērtība palīdz indeksēt un ātrāk meklēt.
Kas ir hashtable?
Hashtable ir a datu struktūra kas tiek izmantots atslēgu / vērtību pāru glabāšanai. Hashtable dati tiek glabāti masīva formātā, kur katrai datu vērtībai ir sava unikālā indeksa vērtība. Jūs varat ātri piekļūt datiem, ja zināt vēlamo datu indeksu.
Java Hashtable klase ievieš hashtable, kas piesaista atslēgas vērtībām. Tas manto vārdnīcas klasi un ievieš kartes saskarni.
Hashtable deklarācija
publiskā klase Hashtable paplašina vārdnīcas ieviešanu Map, Cloneable, Serializable
iemest dubultā līdz int java
UZ: Tas ir atslēgu veids, ko kartē.
V: Šis ir kartēto vērtību veids.
Tagad, kad jūs, puiši, esat sapratuši, kā darbojas Java HashMap un Hashtable, apskatīsim parametrus, lai saprastu atšķirības starp HashMap un Hashtable.
Tagad norādīsim uz galvenajām atšķirībām starp HashMap un Hashtable.
Java HashMap vs Hashtable
Parametri | HashMap | Hashtable |
Sinhronizācija | Nesinhronizēta, kas nozīmē, ka tas nav drošs ar pavedieniem un to nevar koplietot starp daudziem pavedieniem bez atbilstoša sinhronizācijas koda. | Sinhronizēts, un to var koplietot ar daudziem pavedieniem |
Null taustiņi kā iestatīt java klases ceļu | Atļauj tikai vienu nulles atslēgu un vairākas nulles vērtības | Neatļauj nulles atslēgu vai tās vērtību |
Mantotā sistēma | Šī ir Java kolekciju sastāvdaļa | Hashtable ir mantojuma klase, kas nebija daļa no sākotnējā |
Iterators | Iteratoram nav ātras kļūmes, un tas rada vienlaicīgu modifikācijas izņēmumu, ja kāds cits pavediens mēģina modificēt karti | Uzskaitītājs nav ātrs |
Mantošanas klase | Manto AbstractKarte klasē | Manto vārdnīcas klasi |
Kad jūs varat izmantot Java HashMap un Hashtable?
Kad lietot HashMap un Hashtable?
- Sinhronizācija ir galvenā atšķirība starp Java HashMap un Hashtable. Bet, ja ir nepieciešama droša pavediena darbība, tad Hashtable var izmantot, jo visas tā metodes ir sinhronizētas. Bet šī ir mantojuma klase, un no tām ir jāizvairās. Tas nav iespējams, izmantojot HashMap.
- Vairāku pavedienu videi varat izmantot ConcurrentHashMap, kas ir gandrīz līdzīgs Hashtable. Šeit jūs pat varat precīzi sinhronizēt HashMap
- Sinhronizētās darbības rezultāts ir slikts, tāpēc no tā jāizvairās, kamēr vien tas nav nepieciešams. Tādējādi videi bez pavedieniem HashMap noteikti tiek izmantots bez šaubām.
Tas noved mūs pie šī raksta beigām, kur mēs esam iemācījušies atšķirības starp Java HashMap un Hashtable. Ceru, ka jums, puiši, ir skaidrs šī tēma.
Ja jums šķita atbilstošs šis raksts sadaļā “Java HashMap vs Hashtable”, skatiet vietni uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.
Kurss ir paredzēts, lai dotu jums priekšroku un apmācīt jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem piemēram, Hibernate & Spring.
Ja rodas kādi jautājumi, droši uzdodiet visus jautājumus komentāru sadaļā “Java HashMap vs Hashtable”, un mūsu komanda ar prieku atbildēs.