Sa isang antas ng pagpasok, isa sa pinakamadalas na tinanong ay tungkol sa Java HashMap vs Hashtable. Kaya't dapat kang maging buong handa na sagutin ang anumang nauugnay sa HashMap o Hashtable. Ginagamit ng Java ang HashMap at Hashtable upang mag-imbak ng data sa anyo ng susi at halaga . Kaya, ang artikulong ito ay makakatulong sa iyo na malaman ang mga pangunahing pagkakaiba sa pagitan ng dalawang ito.
Tatalakayin ko ang mga paksa sa sumusunod na pagkakasunud-sunod:
- Ano ang HashMap?
- Ano ang isang Hashtable?
- HashMap vs Hashtable
- Kailan gagamitin ang HashMap at Hashtable?
Magsimula na tayo!
Ano ang HashMap?
HashMap ay isang klase ng koleksyon na nakabatay sa Mapa sa na ginagamit upang mag-imbak ng data sa mga pares ng Key at Halaga. Nakakatulong ito sa pagpapatupad ng interface ng Mapa sa Java. Karaniwan ito ay isang bahagi ng dahil ang Java bersyon 1.2 at nagbibigay ng pangunahing pagpapatupad ng interface ng Mapa sa Java. Upang ma-access ang isang halaga sa loob ng HashMap, dapat malaman ito ng isa Susi .
Ito ay tinatawag na HashMap sapagkat gumagamit ito ng diskarteng tinatawag Hashing . Ang Hashing ay isang proseso ng pag-convert ng malaki sa isang mas maliit sa pamamagitan ng pagpapanatili ng halaga ng String bilang pare-pareho. Ang nagresultang naka-compress na halaga ay tumutulong sa pag-index at mas mabilis na mga paghahanap.
Ano ang isang Hashtable?
Ang isang Hashtable ay isang istraktura ng data ginagamit iyon upang mag-imbak ng mga key / pares ng halaga. Sa isang Hashtable, ang data ay nakaimbak sa isang format na array, kung saan ang bawat halaga ng data ay may sariling natatanging halaga ng index. Mabilis mong ma-access ang data kung alam mo ang index ng nais na data.
c ++ recursive fibonacci
Ang klase ng Java Hashtable ay nagpapatupad ng isang nai-tweet, na nagma-map ang mga susi sa mga halaga. Nagmamana ng klase ng Diksyonaryo at nagpapatupad ng interface ng Mapa.
Deklarasyon ng Hashtable
pampubliko na klase Hashtable nagpapalawak Diksiyonaryo nagpapatupad Mapa, Cloneable, Serializable
SA: Ito ang uri ng mga susi sa pamamagitan ng mapa.
V: Ito ang uri ng mga halagang naka-map.
Ngayong naintindihan na ninyo kung paano gumagana ang HashMap at Hashtable sa Java, tingnan natin ang mga parameter upang maunawaan ang mga pagkakaiba sa pagitan ng HashMap at Hashtable.
kung paano itakda ang landas ng java
Ituro natin ngayon ang mga pangunahing pagkakaiba sa pagitan ng HashMap at Hashtable.
Java HashMap vs Hashtable
Mga Parameter | HashMap | Hashtable |
Pagsasabay | Hindi na-synchronize na nangangahulugang hindi ito ligtas sa thread at hindi maibabahagi sa pagitan ng maraming mga thread nang walang tamang code sa pag-synchronize. | Na-synchronize at maaaring ibahagi sa maraming mga thread |
Mga null key | Pinapayagan lamang ang isang null key at maraming mga null na halaga | Hindi pinapayagan ang null key o ang halaga nito |
Sistema ng Legacy | Ito ay bahagi ng Mga Koleksyon ng Java | Ang Hashtable ay isang legacy class na hindi bahagi ng paunang |
Iterator | Ang Iterator ay mabibigo-mabilis at nagtatapon ito ng isang kasabay na PagbabagoException kung may iba pang mga thread na sumusubok na baguhin ang mapa | Ang enumerator ay hindi mabibigo-mabilis |
Nagmamana ng klase | Mga mana AbstractMap klase | Klase ng Diksyonaryo ng mana |
Ngayon, kailan mo magagamit ang Java HashMap at Hashtable?
Kailan gagamitin ang HashMap at Hashtable?
- Pagsasabay ay ang pangunahing pagkakaiba sa pagitan ng Java HashMap at Hashtable. Ngunit kung may pangangailangan para sa isang ligtas na pagpapatakbo ng thread, kung gayon ang Hashtable ay maaaring magamit dahil ang lahat ng mga pamamaraan nito ay na-synchronize. Ngunit, ito ay isang klase ng pamana at kailangan silang iwasan. Hindi ito posible ng HashMap.
- Para sa isang multi-thread na kapaligiran, maaari mong gamitin ang ConcurrentHashMap na halos kapareho sa Hashtable. Dito maaari mo ring gawin ang HashMap na na-synchronize nang malinaw
- Ang magkakasabay na operasyon ay nagreresulta sa isang mahinang pagganap kaya dapat itong iwasan hanggang at maliban kung kinakailangan ito. Samakatuwid para sa di-thread na kapaligiran, ang HashMap ay tiyak na ginagamit nang walang alinlangan.
Dinadala tayo nito sa pagtatapos ng artikulong ito kung saan natutunan ang pagkakaiba sa pagitan ng Java HashMap at Hashtable. Inaasahan kong malinaw ang lahat sa paksang ito.
Kung nakita mo ang artikulong ito sa 'Java HashMap vs Hashtable' na may kaugnayan, tingnan ang isang pinagkakatiwalaang kumpanya sa online na pag-aaral na may isang network ng higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.
Ang kurso ay dinisenyo upang bigyan ka ng isang simula sa at sanayin ka para sa parehong pangunahing at advanced na mga konsepto ng Java kasama ang iba't ibang tulad ng Hibernate & Spring.
Kung mahahanap mo ang anumang mga katanungan, huwag mag-atubiling itanong ang lahat ng iyong mga katanungan sa seksyon ng mga komento ng 'Java HashMap vs Hashtable' at ang aming koponan ay nalulugod na sagutin.