Hvordan implementere kartgrensesnitt i Java?



Denne artikkelen om Java Map Inteface vil hjelpe deg å forstå hvordan Map fungerer i Java og introduserer deg til forskjellige klasser som implementerer Map Interface

Et av de mest interessante temaene i Java er Map-grensesnittet somrepresenterer en kartlegging mellom en nøkkel og en verdi.Det blir ofte misforstått å være en undertype av grensesnitt i Java.Denne artikkelen om Java Map Interface hjelper deg å forstå og mestre hvordan et kart fungerer i .

Nedenfor er emnene dekket i denne artikkelen:





Java Kartgrensesnitt

Et kart i Java er et gjenstand som kartlegger nøkler til verdier og er designet for raskere oppslag. Data lagres i nøkkelverdipar, og hver nøkkel er unik. Hver nøkkel tilordnes til en verdi derav navnet på kartet. Disse nøkkelverdiparene kalles kartoppføringer.

Kart i Java - Java Kartgrensesnitt - Edureka



I , java.util.Kart er en som inkluderer metodesignaturer for innsetting, fjerning og gjenfinning av elementer basert på en nøkkel. Med slike metoder er det et perfekt verktøy å bruke for kartlegging av nøkkelverdier som ordbøker.

Kjennetegn ved kartgrensesnitt

  • Kartgrensesnittet er ikke en ekte undertype for samlingsgrensesnittet, derfordens egenskaper og atferd er forskjellig fra resten av samlingstypene.
  • Det girtre samlingsvisninger - sett med nøkler, sett med nøkkelverdikartlegging og samling av verdier.
  • TILKartkan ikke inneholde dupliserte nøkler, og hver nøkkel kan tilordnes høyst én verdi. Noen implementeringer tillater nullnøkkel og nullverdi ( HashMap og LinkedHashMap ) men noen gjør det ikke ( TreeMap).
  • Kartgrensesnittet garanterer ikke rekkefølgen på kartleggingen, men det avhenger av implementeringen. For eksempel, HashMap garanterer ikke rekkefølgen på kartleggingen men TreeMap gjør.
  • AbstractMap-klassen gir en skjelettimplementering av Java Map-grensesnittet og det meste av Map-betongen klasser utvide klassen AbstractMap og implementere nødvendige metoder.

Nå som du har en ide om hva Map-grensesnitt ligger i la oss gå videre og sjekke ut hierarkiet til Java Map.

Java-karthierarki

Det er to grensesnitt som implementerer Kartet i java: Kart og SortedMap. Og populære implementeringsklasser av Map i Java er HashMap, TreeMap , og LinkedHashMap. Hierarkiet til Java Map er gitt nedenfor:



Før vi sjekker ut de tre implementeringsklassene i Java Map Interface nevnt ovenfor, er det noen vanlige metoder du kan komme over når du arbeider med Map.

Metoder i Java Map Interface

Metoder

Beskrivelse

offentlig put (Objektnøkkel, Objektverdi)Denne metoden setter inn en oppføring i kartet
offentligvoid putAll (Kartkart)Denne metoden setter inn det spesifiserte kartet i dette kartet
public Object remove (Objektnøkkel)Den brukes til å slette en oppføring for den angitte nøkkelen
public Set keySet ()Den returnerer Set-visningen som inneholder alle tastene
public Set entrySet ()Den returnerer Set-visningen som inneholder alle nøklene og verdiene
ugyldig klar ()Det brukes til å tilbakestille kartet
public void putIfAbsent (K-tast, V-verdi)Den setter inn den spesifiserte verdien med den angitte nøkkelen på kartet bare hvis den ikke allerede er spesifisert
offentlig Object get (Objektnøkkel)Den returnerer verdien for den angitte nøkkelen
offentlig boolsk inneholderKey (Objektnøkkel)
Den brukes til å søke i den angitte nøkkelen fra dette kartet

Implementeringer av kart

Det er flere som implementerer Java Mapmen tre store og generelle formål erHashMap, TreeMap og LinkedHashMap.La oss se egenskapene og oppførselen til hver implementering med et eksempel

HashMap-klasse

Den vanligste klassen som implementerer Java Map-grensesnittet er HashMap. Det er en hash-tabellbasert implementering av Map-grensesnittet.Den implementerer alle kartoperasjoneneog tillater nullverdier og en nullnøkkel. Dessuten opprettholder ikke denne klassen noen orden blant elementene. Her er et eksempel på et program som demonstrerer HashMap-klassen.

pakke MyPackage importerer java.util. * klasse HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // Legg til noen kurs. courses.put ('Java Courses', new Integer (6)) courses.put ('Cloud Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (5)) courses.put (' Datavitenskapskurs ', nytt heltall (2)) System.out.println (' Totalt kurs: '+ kurs.størrelse ()) Settst = courses.entrySet () for (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 ('Found total' + courses.get (searchKey) + '' + searchKey)}}

Produksjon

Totalt kurs: 4 Cloud-kurs: 7 Programmeringskurs: 5 Data Science-kurs: 2 Java-kurs: 6 Fant totalt 6 Java-kurs

I programmet ovenfor har jeg brukt mange metoder som er nevnt i tabellen. For det første, den sette() metoden setter inn 4 oppføringer i kartet, og størrelse() metode i neste trinn viser størrelsen på kartet (totale nøkkelverdipar). Etter det, i neste trinn, entrySet () metoden returnerer alle nøkkelverdiparene. Programmet viser også hvordan du kan bruke få() metode for å søke etter en verdi ved hjelp av den tilhørende nøkkelen.

La oss gå videre til neste klasse som implementerer Java Map Interface - TreeMap.

TreeMap-klasse

Denne implementeringen bruker det rød-svarte treet som underliggende data struktur . Et TreeMap sorteres i henhold til den naturlige rekkefølgen på nøklene, eller av en Comparator som ble levert på tidspunktet for opprettelsen. Denne implementeringen tillater ikke null, men vedlikeholdesorden på elementene. Her er et eksempel på et program som demonstrerer TreeMap-klassen.

pakke MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Legg til noen kurs. courses.put ('Java Courses', new Integer (3)) courses.put ('AWS Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (8)) courses.put (' Datavitenskapskurs ', nytt heltall (2)) System.out.println (' Totalt kurs: '+ kurs.størrelse ()) Settst = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Produksjon

Totalt kurs: 4 AWS-kurs: 7 Data Science-kurs: 2 Java-kurs: 3 Programmeringskurs: 8

sql server tutorial for nybegynnere med eksempler

I utskriften skrives elementene på kartet ut i en streng leksikografisk rekkefølge, som ikke vises i de foregående eksemplene på HashMap. Neste klasse som vi skal diskutere er LinkedHashMap .

LinkedHashMap-klasse

Som navnet indikerer bruker denne implementeringen av Java Map-grensesnittet en hash-tabell og en koblet liste som de underliggende datastrukturene. Dermed er rekkefølgen på et LinkedHashMapforutsigbar, med innsettingsrekkefølge som standardordre. Tillater også null som i HashMap. Her er et eksempel på et program som demonstrerer TreeMap-klassen.

pakke MyPackage importerer java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', new Integer (7)) courses.put (' Programming Courses ', new Integer (8)) courses.put (' Data Science Courses ', new Integer (2)) // Den skriver ut elementene i samme rekkefølge // når de ble satt inn System.out.println (kurs) System.out.println ('Totalt kurs:' + kurs.størrelse ()) System.out.println ('Inneholder nøkkel' Hadoop '?' + kurs.containsKey ('Hadoop')) System.out.println ('Få verdi for nøkkel' Programmeringskurs ':' + kurs.get ('Programmeringskurs')) System.out.println ('Er kart tomt?' + Kurser.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (kurs)}}

Produksjon

{Java-kurs = 3, Cloud-kurs = 7, programmeringskurs = 8, datavitenskapskurs = 2} Totalt antall kurs: 4 Inneholder nøkkelen 'Hadoop'? false Få verdi for nøkkelen 'Programmeringskurs': 8 Er kartet tomt? false delete element 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

Eksempelprogrammet er ganske enkelt å forstå. Jeg har brukt noen grunnleggende metoder for å demonstrere funksjonen til LinkeHashMap i Java. Som jeg sa tidligere, bortsett fra disse tre, er det mange andre klasser som implementerer Java Map-grensesnittet.

Dette bringer oss til slutten av denne 'Java Map Interface' artikkelen. Jeg har dekket et av de interessante temaene i Java, som er Kartgrensesnitt i Java.

Forsikre deg om at du trener så mye som mulig og tilbakestiller opplevelsen.

Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Vi er her for å hjelpe deg med hvert trinn på reisen, for å bli en foruten dette java-intervjuspørsmålene, kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i dette ‘java Map-grensesnittet’ artikkel, og vi kommer tilbake til deg så snart som mulig.