Paano Ipapatupad ang Map Interface sa Java?



Ang artikulong ito sa Java Map Inteface ay makakatulong sa iyo na maunawaan kung paano gumagana ang Map sa Java at ipakikilala sa iyo sa iba't ibang mga klase na nagpapatupad ng Map Interface

Isa sa mga pinaka-kagiliw-giliw na paksa sa Java ay ang interface ng Mapa kung saankumakatawan sa isang pagmamapa sa pagitan ng isang susi at isang halaga.Ito ay madalas na hindi naiintindihan na maging isang subtype ng interface sa Java.Ang artikulong ito sa Java Map Interface ay makakatulong sa iyo na maunawaan at master kung paano gumagana ang isang mapa .

Nakalista sa ibaba ang mga paksang sakop sa artikulong ito:





Java Interface ng Mapa

Ang Mapa sa Java ay isang bagay na mapa ang mga susi sa mga halaga at idinisenyo para sa mas mabilis na mga pagtingin. Ang data ay naka-imbak sa mga pares na key-halaga at ang bawat key ay natatangi. Ang bawat pangunahing mga mapa sa isang halaga sa gayon ang pangalan ng mapa. Ang mga pares ng key-halaga na ito ay tinatawag na mga entry sa mapa.

Mga Mapa sa Java - Java Map Interface - Edureka



Nasa , java.util.Mapa ay isang na nagsasama ng mga lagda ng pamamaraan para sa pagpapasok, pagtanggal, at pagkuha ng mga elemento batay sa isang susi. Sa mga nasabing pamamaraan, ito ay isang perpektong tool na gagamitin para sa pagmamapa ng key-halaga ng pag-uugnay tulad ng mga dictionaries.

Mga Katangian ng Interface ng Mapa

  • Ang interface ng Mapa ay hindi isang tunay na subtype ng interface ng Koleksyon, samakatuwid,ang mga katangian at pag-uugali nito ay naiiba mula sa natitirang mga uri ng koleksyon.
  • Nagbibigay itotatlong mga view ng koleksyon - hanay ng mga susi, hanay ng mga key-value mappings at koleksyon ng mga halaga.
  • SAMapahindi maaaring maglaman ng mga duplicate na key at ang bawat key ay maaaring mapa sa kahit isang halaga. Pinapayagan ng ilang pagpapatupad ang null key at null na halaga ( HashMap at LinkedHashMap ) ngunit ang ilan ay hindi ( TreeMap).
  • Hindi ginagarantiyahan ng interface ng Mapa ang pagkakasunud-sunod ng mga pagmamapa, gayunpaman, depende ito sa pagpapatupad. Halimbawa, HashMap hindi ginagarantiyahan ang pagkakasunud-sunod ng mga pagmamapa ngunit TreeMap ay
  • Ang klase ng AbstractMap ay nagbibigay ng isang kalansay na pagpapatupad ng interface ng Java Map at ang karamihan sa kongkreto ng Mapa mga klase palawakin ang klase ng AbstractMap at ipatupad ang mga kinakailangang pamamaraan.

Ngayong mayroon kang ideya kung ano ang nasa loob ng Mapa ay, magpatuloy tayo at suriin ang hierarchy ng Java Map.

Hierarchy ng Mapa ng Java

Mayroong dalawang mga interface na nagpapatupad ng Mapa sa java: Mapa at Naayos na Mapa. At ang mga tanyag na klase sa pagpapatupad ng Mapa sa Java ay HashMap, TreeMap , at Naka-linkHashMap. Ang hierarchy ng Java Map ay ibinibigay sa ibaba:



Bago namin suriin ang tatlong mga klase sa pagpapatupad ng Java Map Interface na nabanggit sa itaas, narito ang ilang mga karaniwang pamamaraan na mahahanap mo kapag nagtatrabaho sa Mapa.

Mga pamamaraan sa Java Map Interface

Paraan

Paglalarawan

pampublikong ilagay (Key ng bagay, Halaga ng object)Ang pamamaraang ito ay nagsisingit ng isang entry sa mapa
pampublikovoid putAll (Mapa ng mapa)Ipinasok ng pamamaraang ito ang tinukoy na mapa sa map na ito
publikong Pag-alis ng object (Key ng object)Ginagamit ito upang tanggalin ang isang entry para sa tinukoy na key
pampublikong Itakda ang keySet ()Ibinabalik nito ang Itakda ang view na naglalaman ng lahat ng mga key
publiko Itakda ang entrySet ()Ibinabalik nito ang view ng Itakda na naglalaman ng lahat ng mga susi at halaga
walang bisa ()Ginagamit ito upang i-reset ang mapa
pampublikong walang bisa na putIfAbsent (K key, V halaga)Ipinasok lamang nito ang tinukoy na halaga sa tinukoy na key sa mapa lamang kung hindi pa ito tinukoy
publikong Pagkuha ng object (Object key)Ibinabalik nito ang halaga para sa tinukoy na key
Ang pampublikong boolean ay naglalaman ngKey (Object key)
Ginagamit ito upang maghanap ng tinukoy na key mula sa map na ito

Pagpapatupad ng Mapa

Maraming na nagpapatupad ng Java Mapngunit ang tatlong pangunahing at pangkalahatang-layunin na pagpapatupad ayHashMap, TreeMap, at LinkedHashMap.Tingnan natin ang mga katangian at pag-uugali ng bawat pagpapatupad sa isang halimbawa

HashMap Class

Ang pinakakaraniwang klase na nagpapatupad ng interface ng Java Map ay ang HashMap. Ito ay isang hash table based pagpapatupad ng interface ng Mapa.Nagpapatupad ito ng lahat ng pagpapatakbo ng Mapaat pinapayagan ang mga null na halaga at isang null key. Gayundin, ang klase na ito ay hindi mapanatili ang anumang pagkakasunud-sunod sa mga elemento nito. Narito ang isang halimbawa ng programa na nagpapakita ng klase ng HashMap.

ano ang namespace c ++
package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Mga kurso sa mapa = bagong HashMap () // Magdagdag ng ilang mga kurso. kurso.put ('Java Courses', bagong Integer (6)) na kurso. input ('Cloud Courses', bagong Integer (7)) na kurso. input ('Programming Courses', bagong Integer (5)) na kurso. input (' Mga Kurso sa Agham ng Data ', bagong Integer (2)) System.out.println (' Kabuuang mga kurso: '+ mga kurso.size ()) Itakdast = course.entrySet () para sa (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' kung (course.containsKey (searchKey)) System.out.println ('Found total' + course.get (searchKey) + '' + searchKey)}}

Paglabas

Kabuuang mga kurso: 4 Cloud Courses: 7 Programming Courses: 5 Data Science Courses: 2 Java Courses: 6 Found total 6 Java Courses

Sa program sa itaas, gumamit ako ng maraming mga pamamaraan na nabanggit sa talahanayan. Una, ang ilagay () Ang pamamaraan ay nagsisingit ng 4 na mga entry sa mapa, at ang laki () ipinapakita ng pamamaraan sa susunod na hakbang ang laki ng mapa (kabuuang mga pares na key-halaga). Pagkatapos nito, sa susunod na hakbang, ang entrySet () ibinalik ng pamamaraan ang lahat ng mga pares ng key-halaga. Ipinapakita rin ng programa kung paano gamitin ang kumuha () paraan upang maghanap para sa isang halaga gamit ang nauugnay na key.

Lumipat tayo sa susunod na klase na nagpapatupad ng Java Map Interface - TreeMap.

TreeMap Class

Ang pagpapatupad na ito ay gumagamit ng Pulang-Itim na puno bilang pinagbabatayan istraktura ng data . Ang isang TreeMap ay pinagsunod-sunod ayon sa natural na pag-order ng mga key nito, o ng isang Paghahambing na ibinigay sa oras ng paglikha. Hindi pinapayagan ng pagpapatupad na ito ang mga null ngunit nagpapanatilikaayusan sa mga elemento nito. Narito ang isang halimbawa ng programa na nagpapakita ng klase ng TreeMap.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Mga kurso sa mapa = bagong TreeMap () // Magdagdag ng ilang mga kurso. kurso.put ('Java Courses', bagong Integer (3)) na kurso. input ('AWS Courses', bagong Integer (7)) na kurso. input ('Programming Courses', bagong Integer (8)) na kurso. input (' Mga Kurso sa Agham ng Data ', bagong Integer (2)) System.out.println (' Kabuuang mga kurso: '+ mga kurso.size ()) Itakdast = course.entrySet () para sa (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Paglabas

Kabuuang mga kurso: 4 Mga Kurso sa AWS: 7 Mga Kurso sa Agham ng Data: 2 Mga Kurso sa Java: 3 Mga Programang Kurso: 8

Sa output, ang mga elemento ng mapa ay naka-print sa isang mahigpit na pagkakasunud-sunod ng lexicographic, na hindi lilitaw sa nakaraang mga halimbawa ng HashMap. Ang susunod na klase na tatalakayin natin ay Naka-linkHashMap .

Class ng LinkedHashMap

Tulad ng ipinapahiwatig ng pangalan ang pagpapatupad na ito ng interface ng Java Map ay gumagamit ng isang hash table at isang naka-link na listahan bilang pinagbabatayan ng mga istraktura ng data. Sa gayon ang pagkakasunud-sunod ng isang LinkedHashMap aymahuhulaan, na may insert-order bilang default na order. Gayundin, pinapayagan ang mga null tulad ng sa HashMap. Narito ang isang halimbawa ng programa na nagpapakita ng klase ng TreeMap.

package MyPackage import java.util. * pampublikong klase LinkedHashMapExample {public static void main (String a []) {LinkedHashMap course = new LinkedHashMap () course.put ('Java Courses', bagong Integer (3)) na mga kurso.put (' Cloud Courses ', bagong Integer (7)) na kurso. Input (' Programming Courses ', bagong Integer (8)) na kurso. Input (' Data Science Courses ', bagong Integer (2)) // Ito ay naglilimbag ng mga elemento sa parehong pagkakasunod // dahil naipasok sila System.out.println (mga kurso) System.out.println ('Kabuuang mga kurso:' + mga kurso.size ()) System.out.println ('Naglalaman ng key' Hadoop '?' + mga kurso.containsKey ('Hadoop')) System.out.println ('Pagkuha ng halaga para sa key' Programming Courses ':' + course.get ('Programming Courses')) System.out.println ('Walang laman ang mapa?' + Mga kurso. ()) System.out.println ('tanggalin ang elemento' Cloud Courses ':' + mga kurso.katanggal ('Mga Kurso sa Cloud')) System.out.println (mga kurso)}}

Paglabas

{Java Courses = 3, Cloud Courses = 7, Programming Courses = 8, Data Science Courses = 2} Kabuuang mga kurso: 4 Naglalaman ng key 'Hadoop'? maling pagkuha ng halaga para sa key 'Programming Courses': 8 Walang laman ang mapa? maling elemento ng pagtanggal ng 'Mga Kurso sa Cloud': 7 {Mga Kurso sa Java = 3, Mga Programang Kurso = 8, Mga Kurso sa Agham ng Data = 2}

Ang halimbawang programa ay medyo simple upang maunawaan. Gumamit ako ng ilang pangunahing pamamaraan upang maipakita ang paggana ng LinkeHashMap sa Java. Tulad ng sinabi ko kanina doon bukod sa tatlong ito ay maraming iba pang mga klase na nagpapatupad ng interface ng Java Map.

Dinadala tayo nito sa pagtatapos ng artikulong 'Java Map Interface' na ito. Saklaw ko ang isa sa mga kagiliw-giliw na paksa ng Java, na kung saan ay ang interface ng Map sa Java.

Tiyaking nagsasanay ka hangga't maaari at ibalik ang iyong karanasan.

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.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'java Map interface' na ito artikulo at babalikan ka namin sa lalong madaling panahon.