logo

Java kartgrensesnitt

Et kart inneholder verdier basert på nøkkel, dvs. nøkkel og verdipar. Hvert nøkkel- og verdipar er kjent som en oppføring. Et kart inneholder unike nøkler.

java delt streng med skilletegn

Et kart er nyttig hvis du skal søke, oppdatere eller slette elementer på grunnlag av en nøkkel.

Java karthierarki

Det er to grensesnitt for å implementere Map i java: Map og SortedMap, og tre klasser: HashMap, LinkedHashMap og TreeMap. Hierarkiet til Java Map er gitt nedenfor:

Java karthierarki

Et kart tillater ikke dupliserte nøkler, men du kan ha dupliserte verdier. HashMap og LinkedHashMap tillater nullnøkler og verdier, men TreeMap tillater ikke noen nullnøkkel eller verdi.

Et kart kan ikke krysses, så du må konvertere det til Set vha keySet() eller entrySet() metode.

KlasseBeskrivelse
HashMap HashMap er implementeringen av Map, men den opprettholder ingen rekkefølge.
LinkedHashMapLinkedHashMap er implementeringen av Map. Den arver HashMap-klassen. Den opprettholder innsettingsrekkefølgen.
Trekart TreeMap er implementeringen av Map og SortedMap. Den opprettholder stigende rekkefølge.

Nyttige metoder for kartgrensesnitt

MetodeBeskrivelse
V put(Objektnøkkel, Objektverdi)Den brukes til å sette inn en oppføring i kartet.
void putAll(Kart kart)Den brukes til å sette inn det angitte kartet i kartet.
V putIfFraværende(K-nøkkel, V-verdi)Den setter inn den angitte verdien med den angitte nøkkelen i kartet bare hvis den ikke allerede er spesifisert.
V fjern (objektnøkkel)Den brukes til å slette en oppføring for den angitte nøkkelen.
boolsk fjern (objektnøkkel, objektverdi)Den fjerner de angitte verdiene med de tilhørende spesifiserte nøklene fra kartet.
Sett keySet()Den returnerer Set-visningen som inneholder alle nøklene.
SettentrySet()Den returnerer Set-visningen som inneholder alle nøklene og verdiene.
void clear()Den brukes til å tilbakestille kartet.
V compute (K-tast, BiFunction remappingFunction)Den brukes til å beregne en tilordning for den angitte nøkkelen og dens gjeldende tilordnede verdi (eller null hvis det ikke er noen gjeldende tilordning).
V computeIfAbsent(K-tast, FunksjonsmappingFunction)Den brukes til å beregne verdien ved hjelp av den gitte tilordningsfunksjonen, hvis den angitte nøkkelen ikke allerede er assosiert med en verdi (eller er tilordnet til null), og legger den inn i dette kartet med mindre null.
V computeIfPresent(K-tast, BiFunction remappingFunction)Den brukes til å beregne en ny tilordning gitt nøkkelen og dens nåværende tilordnede verdi hvis verdien for den angitte nøkkelen er tilstede og ikke er null.
boolean containsValue(Objektverdi)Denne metoden returnerer true hvis en verdi lik verdien finnes i kartet, ellers returnerer false.
boolean containsKey(Objektnøkkel)Denne metoden returnerer true hvis en nøkkel lik nøkkelen finnes i kartet, ellers returnerer false.
boolsk lik(Objekt o)Den brukes til å sammenligne det angitte objektet med kartet.
void forEach (BiConsumer-handling)Den utfører den gitte handlingen for hver oppføring i kartet til alle oppføringer er behandlet eller handlingen gir et unntak.
V get (objektnøkkel)Denne metoden returnerer objektet som inneholder verdien knyttet til nøkkelen.
V getOrDefault(Objektnøkkel, V defaultValue)Den returnerer verdien som den angitte nøkkelen er tilordnet til, eller standardverdi hvis kartet ikke inneholder noen tilordning for nøkkelen.
int hashCode()Den returnerer hash-kodeverdien for kartet
boolsk er tom()Denne metoden returnerer true hvis kartet er tomt; returnerer usann hvis den inneholder minst én nøkkel.
V flette (K-tast, V-verdi, BiFunction remappingFunction)Hvis den angitte nøkkelen ikke allerede er assosiert med en verdi eller er assosiert med null, knytter den til den gitte ikke-nullverdien.
V erstatte (K-tast, V-verdi)Den erstatter den angitte verdien for en spesifisert nøkkel.
boolsk erstatt (K-tast, V oldValue, V newValue)Den erstatter den gamle verdien med den nye verdien for en spesifisert nøkkel.
void replaceAll (BiFunction-funksjon)Den erstatter hver oppførings verdi med resultatet av å påkalle den gitte funksjonen på den oppføringen til alle oppføringer er behandlet eller funksjonen gir et unntak.
Samlingsverdier()Den returnerer en samlingsvisning av verdiene i kartet.
int størrelse()Denne metoden returnerer antall oppføringer i kartet.

Kart.Entry Interface

Entry er undergrensesnittet til Map. Så vi får tilgang til den via Map.Entry-navn. Den returnerer en samlingsvisning av kartet, hvis elementer er av denne klassen. Det gir metoder for å få nøkkel og verdi.

Metoder for Map.Entry-grensesnitt

MetodeBeskrivelse
K getKey()Den brukes til å få en nøkkel.
V getValue()Det brukes for å oppnå verdi.
int hashCode()Den brukes til å få hashCode.
V settverdi (V-verdi)Den brukes til å erstatte verdien som tilsvarer denne oppføringen med den angitte verdien.
boolsk lik(Objekt o)Den brukes til å sammenligne det angitte objektet med de andre eksisterende objektene.
statiskKomparatorcomparingByKey()Den returnerer en komparator som sammenligner objektene i naturlig rekkefølge på nøkkel.
statisk komparatorcomparingByKey(Comparator cmp)Den returnerer en komparator som sammenligner objektene med nøkkel ved å bruke den gitte komparatoren.
statiskKomparatorcomparingByValue()Den returnerer en komparator som sammenligner objektene i naturlig rekkefølge etter verdi.
statisk komparatorcomparingByValue(Comparator cmp)Den returnerer en komparator som sammenligner objektene etter verdi ved å bruke den gitte komparatoren.

Eksempel på Java-kart: Ikke-generisk (gammel stil)

 //Non-generic import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,'Amit'); map.put(5,'Rahul'); map.put(2,'Jai'); map.put(6,'Amit'); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' '+entry.getValue()); } } } 

Produksjon:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Eksempel på Java-kart: Generisk (ny stil)

 import java.util.*; class MapExample2{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Elements can traverse in any order for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 

Produksjon:

 102 Rahul 100 Amit 101 Vijay 

Java-karteksempel: comparingByKey()

 import java.util.*; class MapExample3{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produksjon:

 100=Amit 101=Vijay 102=Rahul 

Java Map Eksempel: comparingByKey() i synkende rekkefølge

 import java.util.*; class MapExample4{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produksjon:

 102=Rahul 101=Vijay 100=Amit 

Java-karteksempel: comparingByValue()

 import java.util.*; class MapExample5{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produksjon:

 100=Amit 102=Rahul 101=Vijay 

Java Map Eksempel: comparingByValue() i synkende rekkefølge

 import java.util.*; class MapExample6{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produksjon:

 101=Vijay 102=Rahul 100=Amit