Hur implementerar jag kartgränssnittet i Java?



Den här artikeln om Java Map Inteface hjälper dig att förstå hur Map fungerar i Java och introducerar dig till olika klasser som implementerar Map Interface

Ett av de mest intressanta ämnena i Java är Map-gränssnittet somrepresenterar en mappning mellan en nyckel och ett värde.Det missförstås ofta att vara en subtyp av gränssnitt i Java.Den här artikeln om Java Map Interface hjälper dig att förstå och bemästra hur en karta fungerar .

Nedan listas de ämnen som tas upp i den här artikeln:





Java Map Interface

En karta i Java är en objekt som mappar nycklar till värden och är utformad för snabbare sökningar. Data lagras i nyckel-värdepar och varje nyckel är unik. Varje tangent mappas till ett värde, därav namnskartan. Dessa nyckel-värdepar kallas kartposter.

Kartor i Java - Java Map Interface - Edureka



I , java.util.Map är en som inkluderar metodsignaturer för insättning, borttagning och hämtning av element baserat på en nyckel. Med sådana metoder är det ett perfekt verktyg att använda för mappning av nyckel-värde-associering, såsom ordböcker.

Karaktäristik för kartgränssnitt

  • Kartgränssnittet är inte en riktig undertyp av samlingsgränssnittet, därfördess egenskaper och beteenden skiljer sig från resten av samlingstyperna.
  • Det gertre samlingsvyer - uppsättning nycklar, uppsättning nyckel-värde mappningar och samling av värden.
  • TILLKartakan inte innehålla dubbla nycklar och varje nyckel kan mappas till högst ett värde. Vissa implementeringar tillåter nullnyckel och nullvärde ( HashMap och LinkedHashMap ) men vissa gör det inte ( TreeMap).
  • Kartgränssnittet garanterar inte ordningen på mappningar, men det beror på implementeringen. Till exempel, HashMap garanterar inte ordningen på mappningar men TreeMap gör.
  • AbstractMap-klassen ger en skelettimplementering av Java Map-gränssnittet och större delen av Map-betongen klasser utöka klassen AbstractMap och implementera nödvändiga metoder.

Nu när du har en uppfattning om vad Map-gränssnitt finns i är, låt oss gå vidare och kolla in hierarkin för Java Map.

Java-karthierarki

Det finns två gränssnitt som implementerar kartan i java: Map och SortedMap. Och populära implementeringsklasser för Map i Java är HashMap, TreeMap och LinkedHashMap. Hierarkin för Java Map ges nedan:



Innan vi kolla in de tre implementeringsklasserna i Java Map Interface som nämns ovan, här är några vanliga metoder som du kan stöta på när du arbetar med kartan.

Metoder i Java Map Interface

Metoder

Beskrivning

public put (Objektnyckel, Objektvärde)Denna metod infogar en post på kartan
offentligvoid putAll (Map map)Den här metoden infogar den angivna kartan i den här kartan
public Object remove (Objektnyckel)Den används för att radera en post för den angivna nyckeln
public Set keySet ()Den returnerar Set-vyn som innehåller alla tangenter
public Set entrySet ()Den returnerar Set-vyn som innehåller alla tangenter och värden
ogiltig rensa ()Den används för att återställa kartan
public void putIfAbsent (K-tangent, V-värde)Det infogar det angivna värdet med den angivna nyckeln på kartan endast om det inte redan är specificerat
public Object get (Objektnyckel)Det returnerar värdet för den angivna nyckeln
public boolean containsKey (Objektnyckel)
Den används för att söka i den angivna nyckeln från denna karta

Implementeringar av kartan

Det finns flera som implementerar Java Mapmen tre stora och allmänna tillämpningar ärHashMap, TreeMap och LinkedHashMap.Låt oss se egenskaper och beteenden för varje implementering med ett exempel

HashMap-klass

Den vanligaste klassen som implementerar Java Map-gränssnittet är HashMap. Det är en hash-tabellbaserad implementering av Map-gränssnittet.Den implementerar alla kartoperationeroch tillåter nollvärden och en nollnyckel. Denna klass upprätthåller inte någon ordning bland sina element. Här är ett exempel på ett program som visar HashMap-klassen.

paket MyPackage importera java.util. * klass HashMapExempel {public static void main (String [] args) {Map courses = new HashMap () // Lägg till några kurser. courses.put ('Java Courses', new Integer (6)) courses.put ('Cloud Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (5)) courses.put (' Datavetenskapskurser ', nytt heltal (2)) System.out.println (' Totalt antal kurser: '+ kurser.storlek ()) Ställ inst = courses.entrySet () för (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)}}

Produktion

Totalt antal kurser: 4 Molnkurser: 7 Programmeringskurser: 5 Datavetenskapskurser: 2 Java-kurser: 6 Hittade totalt 6 Java-kurser

I ovanstående program har jag använt många metoder som nämns i tabellen. För det första, sätta() metoden infogar 4 poster på kartan och storlek() metod i nästa steg visar storleken på kartan (totala nyckel-värdepar). Därefter, i nästa steg, kommer entrySet () metoden returnerar alla nyckel-värdepar. Programmet visar också hur man använder sig av skaffa sig() metod för att söka efter ett värde med hjälp av tillhörande nyckel.

Låt oss gå vidare till nästa klass som implementerar Java Map Interface - TreeMap.

TreeMap-klass

Denna implementering använder det röd-svarta trädet som underliggande datastruktur . En TreeMap sorteras efter den naturliga ordningen av dess nycklar, eller av en Comparator som tillhandahålls vid skapandet. Denna implementering tillåter inte nollor men behållerordning på dess element. Här är ett exempelprogram som visar klassen TreeMap.

paket MyPackage import java.util. * klass TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Lägg till några kurser. courses.put ('Java Courses', new Integer (3)) courses.put ('AWS Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (8)) courses.put (' Datavetenskapskurser ', nytt heltal (2)) System.out.println (' Totalt antal kurser: '+ kurser.storlek ()) Ställ inst = courses.entrySet () för (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Produktion

Totalt antal kurser: 4 AWS-kurser: 7 Datavetenskapskurser: 2 Java-kurser: 3 Programmeringskurser: 8

I utskriften skrivs kartelementen ut i en strikt lexikografisk ordning, vilket inte visas i de tidigare exemplen på HashMap. Nästa klass som vi ska diskutera är LinkedHashMap .

LinkedHashMap-klass

Som namnet antyder använder implementeringen av Java Map-gränssnittet en hash-tabell och en länkad lista som underliggande datastrukturer. Således är ordningen på en LinkedHashMapförutsägbar, med införingsordning som standardordning. Tillåter också nollar som i HashMap. Här är ett exempelprogram som visar klassen TreeMap.

paket MyPackage importera java.util. * offentlig klass LinkedHashMapExempel {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)) // Det skriver ut elementen i samma ordning // när de sattes in System.out.println (kurser) System.out.println ('Totalt antal kurser:' + kurser.storlek ()) System.out.println ('Innehåller nyckel' Hadoop '?' + kurser.innehåller Key ('Hadoop')) System.out.println ('Få värde för nyckel' Programmeringskurser ':' + kurser.get ('Programmeringskurser')) System.out.println ('Är kartan tom?' + Kurser.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (kurser)}}

Produktion

{Java-kurser = 3, Molnkurser = 7, Programmeringskurser = 8, Data Science-kurser = 2} Totalt antal kurser: 4 Innehåller nyckeln 'Hadoop'? false Få värde för nyckeln 'Programmeringskurser': 8 Är kartan tom? falskt radera element 'Molnkurser': 7 {Java-kurser = 3, Programmeringskurser = 8, Datavetenskapskurser = 2}

Exempelprogrammet är ganska enkelt att förstå. Jag har använt några grundläggande metoder för att visa hur LinkeHashMap fungerar i Java. Som jag sa tidigare finns det bortsett från dessa tre många andra klasser som implementerar Java Map-gränssnittet.

Detta leder oss till slutet av denna artikel om 'Java Map Interface'. Jag har täckt ett av de intressanta ämnena i Java, som är Map-gränssnittet i Java.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

vad är funktion i sql

Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i detta ”Java Map-gränssnitt” artikeln så återkommer vi så snart som möjligt.