Java HashMap - Alamin Kung Paano Ipapatupad ang HashMap sa Java



Ang artikulong ito sa Java HashMap ay magbibigay sa iyo sa klase ng HashMap sa Java na bahagi ng koleksyon ng Java mula noong Java 1.2. Nagbibigay ito ng pangunahing pagpapatupad ng interface ng Mapa sa Java.

HashMap ay isang klase ng koleksyon na nakabatay sa Mapa sa Java na ginagamitupang mag-imbak ng data sa mga pares ng Key & Value. Nakakatulong din ito sa pagpapatupad ng interface ng Mapa sa Java. Sa pamamagitan ng daluyan ng artikulong ito, sasabihin ko sa iyo kung paano ipatupad HashMap.

Sa ibaba ang mga paksa ay sakop sa artikulong ito:





Ano ang isang Java HashMap?

HashMap ay karaniwang isang bahagi ng mula noong Java 1.2. Nagbibigay ito ng pangunahing pagpapatupad ng Mapa interface sa Java . Sa pangkalahatan ay iniimbak nito ang data nang pares sa anyo ng (Susi, Halaga). Upang ma-access ang isang halaga sa loob ng HashMap dapat malaman ng isa ang Susi nito.

Mga pares ng pangunahing halaga - Java HashMap - EdurekaPinangalanan ito bilang HashMap dahil gumagamit ito ng diskarteng tinatawag na Hashing. Ang Hashing ay isang proseso ng pag-convert ng isang mas malaking String sa isang mas maliit sa pamamagitan ng pagpapanatili ng halaga ng bilang pare-pareho. Ang nagresultang naka-compress na halaga ay tumutulong sa pag-index at mas mabilis na mga paghahanap.



Sa pamamagitan nito, alam natin ngayon ang iba't ibang mga tampok ng HashMap sa Java.

Mga tampok ng HashMap

  • Ang Hash Map ay isang bahagi ng isang util package sa Java .

  • Ang HashMap ay nagpapalawak ng isang abstract na klase Ang AbstractMap na nagbibigay din ng isang hindi kumpletong pagpapatupad ng interface ng Mapa.



  • Nagpapatupad din ito ng Cloneable at Serializable Ang K at V sa kahulugan sa itaas ay kumakatawan sa Susi at Halaga ayon sa pagkakabanggit.

  • Hindi pinapayagan ng HashMap ang mga duplicate na key ngunit pinapayagan ang mga duplicate na halaga. Nangangahulugan iyon na Ang isang solong susi ay hindi maaaring maglaman ng higit sa 1 halaga ngunit higit sa 1 key ang maaaring maglaman ng isang solong halaga.

  • Pinapayagan lamang ng HashMap ang null key ngunit maraming mga null na halaga ang maaaring magamit.

  • Ang klase na ito ay walang ginagarantiyahan tungkol sa pagkakasunud-sunod ng mapa sa partikular, hindi nito ginagarantiyahan na ang order ay mananatiling pare-pareho sa paglipas ng panahon. Ito ay halos katulad sa Hash Table ngunit hindi na-synchronize.

Ngayong alam mo na kung ano ang Hashmap at iba`t ibang mga tampok nito, lumipat tayo at unawain ang pagganap ng Java Hashmap.

Pagganap ng Java HashMap

Pangunahin nang nakasalalay sa 2 mga parameter:

pagkakaiba sa pagitan ng overriding at overloading sa java
  1. Paunang Kapasidad : Ang kapasidad ay simpleng bilang ng mga timba samantalang ang Paunang Kapasidad ay ang kapasidad ng halimbawa ng HashMap kapag nilikha ito.
  2. Load Factor: Ang Load Factor ay isang panukala na kung kailan dapat gawin ang rehashing. Ang rehashing ay isang proseso ng pagtaas ng kapasidad. Sa kapasidad ng HashMap ay pinarami ng 2. Ang Load Factor ay isang hakbang din sa pagpapasya kung anong bahagi ng HashMap ang pinapayagan na punan bago muling i-rehash. Kapag tumaas ang bilang ng mga entry sa HashMap, tataas din ang produkto ng kasalukuyang kapasidad at kapasidad ng Load Factor. Ipinapahiwatig nito na tapos na ang rehashing.

Tandaan :Kung ang paunang kapasidad ay pinananatiling mas mataas sa gayon ang rehashing ay hindi kailanman magagawa. Ngunit sa pamamagitan ng pagpapanatiling mas mataas ito ay nagdaragdag ng pagiging kumplikado ng oras ng pag-ulit. Kaya dapat itong napili nang napakatalino upang madagdagan ang pagganap. Ang inaasahang bilang ng mga halaga ay dapat isaalang-alang upang maitakda ang paunang kapasidad. Karamihan sa pangkalahatang ginustong halaga ng factor ng pag-load ay 0.75 na nagbibigay ng mabuting pakikitungo sa pagitan ng mga gastos sa oras at espasyo. Ang halaga ng load factor ay nag-iiba sa pagitan ng 0 at 1.

Ang mga tagabuo sa HashMap

Nagbibigay ang HashMap ng apat tagapagtayo at ang i-access ang pag-edit sa bawat isa sa kanila ay pampubliko:

Mga tagapagbuo Paglalarawan
1. HashMap () Ito ang default na tagapagbuo na lumilikha ng isang halimbawa ng HashMap na may paunang kapasidad 16 at load factor na 0.75.
2. HashMap (int paunang kapasidad) Ginagamit ito upang lumikha ng isang halimbawa ng HashMap na may tinukoy na paunang kapasidad at factor ng pag-load na 0.75
3. HashMap (int paunang kapasidad, float load factor) Lumilikha ito ng isang halimbawa ng HashMap na may tinukoy na paunang kapasidad at tinukoy na kadahilanan ng pag-load.
4. HashMap (Mapa ng mapa) Lumilikha ito ng isang halimbawa ng HashMap na may parehong mga pagmamapa bilang isang tinukoy na mapa.

Sa pamamagitan nito, tingnan natin ngayon kung paano ipatupad ang HashMap sa Java .

Pagpapatupad ng HashMap

Inilalarawan ng programa sa ibaba kung paano ipatupad ang HashMap sa Java.

package Edureka // Java program to illustrate //Java.util.HashMap import java.util.HashMap import java.util.Map public class Hashmap {public static void main (String [] args) {HashMa map = new HashMap () print (mapa) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('Laki ng mapa ay' + map.size ( )) print (map) kung (map.containsKey ('mno')) {Integer a = map.get ('mno') System.out.println ('halaga para sa key ' mno  'ay: -' + a )} map.clear () print (map)} public static void print (Map map) {if (map.isEmpty ()) {System.out.println ('walang laman ang mapa')} iba pa {System.out.println (mapa)}}}

Sa pagpapatupad ng programang HashMap, ganito ang output:

walang laman ang mapa Sukat ng mapa ay: - 3 halaga ng abc = 10, xyz = 20, mno = 30} para sa key 'abc' ay: - 10 mapa ay walang laman

Kaya't dinadala tayo nito sa katapusan ng Artikulo ng HashMap. Inaasahan kong nahanap mo ito na nagbibigay-kaalaman at nakatulong sa iyo sa pag-unawa sa Mga Batayan.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'Java HashMap ”Artikulo at babalik kami sa iyo sa lalong madaling panahon.