Kaip įdiegti žemėlapio sąsają „Java“?

Šis „Java Map Inteface“ straipsnis padės suprasti, kaip „Map“ veikia „Java“, ir supažindins jus su skirtingomis klasėmis, kuriose įdiegta „Map Interface“

Viena iš įdomiausių „Java“ temų yra žemėlapio sąsaja, kurižymi rakto ir vertės susiejimą.Dažnai neteisingai suprantama, kad tai yra potipis sąsaja „Java“.Šis „Java“ žemėlapių sąsajos straipsnis padės suprasti ir įsisavinti žemėlapio veikimą .



Žemiau išvardytos šiame straipsnyje aptariamos temos:



„Java“ žemėlapio sąsaja

Žemėlapis „Java“ yra objektas kuris susieja raktus su vertybėmis ir yra skirtas greitesnei paieškai. Duomenys saugomi raktų ir verčių poromis, o kiekvienas raktas yra unikalus. Kiekvienas raktas susieja vertę, taigi ir pavadinimo žemėlapį. Šios pagrindinių reikšmių poros vadinamos žemėlapio įrašais.

Žemėlapiai „Java“ - „Java“ žemėlapių sąsaja - „Edureka“



Viduje , java.util.Žemėlapis yra tai apima metodo parašus elementams įterpti, pašalinti ir gauti pagal raktą. Taikant tokius metodus, tai yra puiki priemonė naudoti raktų ir vertybių susiejimo žemėlapiams, pvz., Žodynams.

Žemėlapio sąsajos charakteristikos

  • Žemėlapio sąsaja nėra tikras kolekcijos sąsajos potipis, todėljo savybės ir elgesys skiriasi nuo kitų kolekcijos tipų.
  • Tai suteikiatrys kolekcijos rodiniai - raktų rinkinys, raktų vertės susiejimų rinkinys ir verčių rinkinys.
  • ĮŽemėlapisnegali būti raktų dublikatų, o kiekvienas raktas gali priskirti daugiausiai vieną vertę. Kai kurie diegimai leidžia nulinį raktą ir nulinę vertę ( „HashMap“ ir „LinkedHashMap“ ) bet kai kurie to nedaro ( Medžio žemėlapis).
  • Žemėlapio sąsaja negarantuoja susiejimų tvarkos, tačiau tai priklauso nuo įgyvendinimo. Pavyzdžiui, „HashMap“ negarantuoja kartografavimo tvarkos, bet Medžio žemėlapis daro.
  • „AbstractMap“ klasėje yra „Java Map“ sąsajos ir daugumos „Map“ betono elementų karkasinis įgyvendinimas klasės išplėsti „AbstractMap“ klasę ir įgyvendinti reikalingus metodus.

Dabar, kai turite idėją, kurioje „Map“ sąsajoje yra, eikime pirmyn ir patikrinkime „Java Map“ hierarchiją.

„Java“ žemėlapių hierarchija

Žemėlapyje Java yra įdiegtos dvi sąsajos: Žemėlapis ir Rūšiuotas žemėlapis. Ir populiarios „Map in Java“ įgyvendinimo klasės yra „HashMap“, „TreeMap“ ir „LinkedHashMap“. Žemiau pateikiama „Java Map“ hierarchija:



Prieš patikrindami tris aukščiau paminėtas „Java Map Interface“ diegimo klases, pateikiame keletą bendrų metodų, kuriuos galite rasti dirbdami su „Map“.

Metodai „Java Map Interface“

Metodai

kaip nustatyti php

apibūdinimas

public put (objekto raktas, objekto reikšmė)Šis metodas įterpia įrašą į žemėlapį
visuomenėsvoid putAll (žemėlapio žemėlapis)Šis metodas įterpia nurodytą žemėlapį į šį žemėlapį
viešas objektas pašalinti (objekto raktas)Jis naudojamas norint ištrinti nurodyto rakto įrašą
public Set keySet ()Grąžina nustatymo rodinį, kuriame yra visi raktai
public Set entrySet ()Grąžina nustatymo rodinį, kuriame yra visi raktai ir reikšmės
niekinis aiškus ()Jis naudojamas atstatyti žemėlapį
public void putIfAbsent (K raktas, V reikšmė)Nurodytą reikšmę nurodytu raktu į žemėlapį įterpia tik tuo atveju, jei ji dar nenurodyta
viešas objekto gavimas (objekto raktas)Jis grąžina nurodyto rakto vertę
viešasis loginis failas yra raktas (objekto raktas)
Jis naudojamas ieškant nurodyto rakto iš šio žemėlapio

Žemėlapio diegimas

Yra keli kurie įgyvendina „Java“ žemėlapįtačiau trys pagrindiniai ir bendros paskirties įgyvendinimai yra„HashMap“, „TreeMap“ ir „LinkedHashMap“.Pažiūrėkime kiekvieno įgyvendinimo ypatybes ir elgesį su pavyzdžiu

„HashMap“ klasė

Labiausiai paplitusi klasė, įdiegianti „Java Map“ sąsają, yra „HashMap“. Tai maišos lentele pagrįstas žemėlapio sąsajos įgyvendinimas.Jis įgyvendina visas žemėlapio operacijasir leidžia nulines reikšmes ir vieną nulinį raktą. Be to, ši klasė nepalaiko jokios tvarkos tarp savo elementų. Štai programos pavyzdys, demonstruojantis „HashMap“ klasę.

„MyPackage“ paketo importas java.util. * klasė „HashMapExample“ {public static void main (String [] args) {Žemėlapio kursai = new HashMap () // Pridėti keletą kursų. courses.put („Java kursai“, naujas sveikasis skaičius (6)) kursai.put („Debesų kursai“, naujas sveikas skaičius (7)) kursai. išvestis („Programavimo kursai“, naujas sveikas skaičius (5)) kursai. Duomenų mokslo kursai “, naujas sveikasis skaičius (2)) System.out.println („ Iš viso kursų: “+ kursai. Dydis ()) Nustatytist = courses.entrySet (), skirtas [Map.Entry me: st] {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (courses.containsKey (searchKey)) System.out.println ('Rasta iš viso' + courses.get (searchKey) + '' + searchKey)}}

Rezultatas

Iš viso kursų: 4 debesų kursai: 7 programavimo kursai: 5 duomenų mokslo kursai: 2 „Java“ kursai: 6 iš viso rasta 6 „Java“ kursai

Aukščiau pateiktoje programoje aš naudojau daug metodų, paminėtų lentelėje. Pirma, įdėti () metodas įterpia į žemėlapį 4 įrašus, o dydis () metodas kitame žingsnyje parodo žemėlapio dydį (bendras raktų ir reikšmių poras). Po to kitame etape entrySet () metodas grąžina visas rakto ir vertės poras. Programa taip pat parodo, kaip ja naudotis gauti () būdas ieškoti vertės naudojant susietą raktą.

Pereikime prie kitos klasės, įdiegiančios „Java Map Interface“ - „TreeMap“.

„TreeMap“ klasė

Šis diegimas naudoja raudonai juodą medį kaip pagrindą duomenų struktūra . „TreeMap“ rūšiuojamas pagal natūralų raktų išdėstymą arba palyginimo priemonę, pateiktą kūrimo metu. Šis diegimas neleidžia nieko, bet palaikotvarka dėl jo elementų. Štai programos „TreeMap“ pavyzdys.

paketas „MyPackage“ importuokite java.util. * klasę TreeMapEx {public static void main (String [] args) {Žemėlapio kursai = new TreeMap () // Pridėti keletą kursų. courses.put („Java kursai“, naujas sveikasis skaičius (3)) kursai.put („AWS kursai“, naujas sveikas skaičius (7)) kursai. įvestis („Programavimo kursai“, naujas sveikas skaičius (8)) kursai. Duomenų mokslo kursai “, naujas sveikasis skaičius (2)) System.out.println („ Iš viso kursų: “+ kursai. Dydis ()) Nustatytist = courses.entrySet (), skirtas [Map.Entry me: st] {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Rezultatas

Iš viso kursų: 4 AWS kursai: 7 duomenų mokslo kursai: 2 „Java“ kursai: 3 programavimo kursai: 8

Išvestyje žemėlapio elementai spausdinami griežta leksikografine tvarka, o tai nepasirodo ankstesniuose „HashMap“ pavyzdžiuose. Kita klasė, kurią ketiname aptarti, yra „LinkedHashMap“ .

„LinkedHashMap“ klasė

Kaip rodo pavadinimas, šis „Java Map“ sąsajos diegimas kaip pagrindinės duomenų struktūros naudoja maišos lentelę ir susietą sąrašą. Taigi „LinkedHashMap“ tvarka yranuspėjama, numatytoji tvarka yra įterpimo tvarka. Be to, leidžia niekinius duomenis kaip „HashMap“. Štai programos „TreeMap“ pavyzdys.

paketas „MyPackage“ importuokite java.util. * viešoji klasė „LinkedHashMapExample“ {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Debesų kursai “, naujas sveikasis skaičius (7)) kursai. Įvestis („ Programavimo kursai “, naujas sveikas skaičius (8)) kursai. Įvestis („ Duomenų mokslo kursai “, naujas sveikas skaičius (2)) // Elementus spausdina ta pačia tvarka // kaip jie buvo įterpti System.out.println (kursai) System.out.println ('Iš viso kursų:' + courses.size ()) System.out.println ('Yra raktas' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Gauti reikšmę raktams' Programavimo kursai ':' + courses.get ('Programavimo kursai')) System.out.println ('Ar žemėlapis tuščias?' + Courses.isEmpty ()) System.out.println („ištrinti elementą„ Debesų kursai “:„ + kursai. Šalinti („Debesų kursai“)) System.out.println (kursai)}}

Rezultatas

{„Java“ kursai = 3, debesų kursai = 7, programavimo kursai = 8, duomenų mokslo kursai = 2} Iš viso kursų: 4 Turi raktą „Hadoop“? klaidinga Gaunama reikšmė raktams „Programavimo kursai“: 8 Ar žemėlapis tuščias? klaidingas elemento „Debesų kursai“ ištrynimas: 7 {„Java“ kursai = 3, programavimo kursai = 8, duomenų mokslo kursai = 2}

Programos pavyzdį suprasti yra gana paprasta. Norėdami įrodyti „LinkeHashMap“ veikimą „Java“, naudoju keletą pagrindinių metodų. Kaip jau sakiau anksčiau, be šių trijų, yra daugybė kitų klasių, įdiegiančių „Java Map“ sąsają.

Taip pateksime į šio „Java Map Interface“ straipsnio pabaigą. Aš aptariau vieną iš įdomių „Java“ temų, tai yra „Map“ sąsaja „Java“.

Įsitikinkite, kad praktikuojate kuo daugiau ir grąžinkite savo patirtį.

Patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. Mes esame čia, kad padėtume jums kiekviename jūsų kelionės žingsnyje, kad taptume be šių „Java“ interviu klausimų, mes parengėme mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ kūrėjais.

Turite mums klausimą? Prašau tai paminėti šios „java žemėlapio sąsajos“ komentarų skyriuje straipsnį ir mes kuo greičiau susisieksime su jumis.