logo

Java Kartgränssnitt

En karta innehåller värden på grundval av nyckel, dvs nyckel och värdepar. Varje nyckel- och värdepar kallas en post. En karta innehåller unika nycklar.

javascript window.open

En karta är användbar om du måste söka, uppdatera eller ta bort element på basis av en nyckel.

Java karthierarki

Det finns två gränssnitt för att implementera Map i java: Map och SortedMap, och tre klasser: HashMap, LinkedHashMap och TreeMap. Hierarkin för Java Map ges nedan:

Java karthierarki

En karta tillåter inte dubbletter av nycklar, men du kan ha dubbletter av värden. HashMap och LinkedHashMap tillåter null-nycklar och värden, men TreeMap tillåter inte någon null-nyckel eller värde.

En karta kan inte passeras, så du måste konvertera den till Set med keySet() eller entrySet() metod.

KlassBeskrivning
HashMap HashMap är implementeringen av Map, men den upprätthåller ingen ordning.
LinkedHashMapLinkedHashMap är implementeringen av Map. Den ärver HashMap-klassen. Den upprätthåller insättningsordningen.
Trädkarta TreeMap är implementeringen av Map och SortedMap. Den upprätthåller stigande ordning.

Användbara metoder för kartgränssnitt

MetodBeskrivning
V put(Objektnyckel, Objektvärde)Den används för att infoga en post i kartan.
void putAll(Map map)Den används för att infoga den angivna kartan i kartan.
V putIfAbsent(K-nyckel, V-värde)Den infogar det angivna värdet med den angivna nyckeln i kartan endast om det inte redan är specificerat.
V ta bort (objektnyckel)Den används för att radera en post för den angivna nyckeln.
boolean remove(Objektnyckel, Objektvärde)Den tar bort de angivna värdena med tillhörande specificerade nycklar från kartan.
Ställ in keySet()Den returnerar Set-vyn som innehåller alla nycklar.
UppsättningentrySet()Den returnerar Set-vyn som innehåller alla nycklar och värden.
void clear()Den används för att återställa kartan.
V compute (K-nyckel, BiFunction remappingFunction)Den används för att beräkna en mappning för den angivna nyckeln och dess aktuella mappade värde (eller null om det inte finns någon aktuell mappning).
V computeIfAbsent(K-tangent, FunktionsmappingFunction)Den används för att beräkna dess värde med hjälp av den givna mappningsfunktionen, om den angivna nyckeln inte redan är associerad med ett värde (eller är mappad till null), och matar in det i denna karta om inte null.
V computeIfPresent(K-nyckel, BiFunction remappingFunction)Den används för att beräkna en ny mappning givet nyckeln och dess nuvarande mappade värde om värdet för den angivna nyckeln är närvarande och inte är null.
boolean containsValue(Objektvärde)Denna metod returnerar true om något värde som är lika med värdet finns i kartan, annars returnerar false.
boolean containsKey(Objektnyckel)Denna metod returnerar true om någon nyckel som är lika med nyckeln finns inom kartan, annars returnerar false.
boolesk lika med(Objekt o)Den används för att jämföra det angivna objektet med kartan.
void forEach (BiConsumer action)Den utför den givna åtgärden för varje post i kartan tills alla poster har bearbetats eller åtgärden ger ett undantag.
V get(Objektnyckel)Denna metod returnerar objektet som innehåller värdet som är associerat med nyckeln.
V getOrDefault(Objektnyckel, V defaultValue)Den returnerar värdet som den angivna nyckeln är mappad till, eller defaultValue om kartan inte innehåller någon mappning för nyckeln.
int hashCode()Den returnerar hashkodvärdet för kartan
boolean isEmpty()Denna metod returnerar true om kartan är tom; returnerar false om den innehåller minst en nyckel.
V sammanfoga (K-nyckel, V-värde, BiFunction remappingFunction)Om den angivna nyckeln inte redan är associerad med ett värde eller är associerad med null, associerar den med det givna icke-nullvärdet.
V ersätt (K-nyckel, V-värde)Den ersätter det angivna värdet för en angiven nyckel.
boolean replace(K-nyckel, V oldValue, V newValue)Det ersätter det gamla värdet med det nya värdet för en angiven nyckel.
void replaceAll (BiFunction-funktion)Den ersätter varje posts värde med resultatet av att anropa den givna funktionen på den posten tills alla poster har bearbetats eller funktionen ger ett undantag.
Samlingsvärden()Den returnerar en samlingsvy av värdena som finns i kartan.
int storlek()Denna metod returnerar antalet poster i kartan.

Map.Entry Interface

Entry är undergränssnittet till Map. Så vi kommer att nås med Map.Entry-namn. Den returnerar en samlingsvy av kartan, vars element är av denna klass. Det ger metoder för att få nyckel och värde.

Metoder för Map.Entry-gränssnitt

MetodBeskrivning
K getKey()Den används för att få en nyckel.
V getValue()Det används för att få värde.
int hashCode()Den används för att få hashCode.
V setValue(V-värde)Den används för att ersätta värdet som motsvarar denna post med det angivna värdet.
boolesk lika med(Objekt o)Den används för att jämföra det angivna objektet med de andra befintliga objekten.
statiskKomparatorcomparingByKey()Den returnerar en komparator som jämför objekten i naturlig ordning på tangenten.
statisk komparatorcomparingByKey(Comparator cmp)Den returnerar en komparator som jämför objekten med hjälp av den givna komparatorn.
statiskKomparatorcomparingByValue()Den returnerar en komparator som jämför objekten i naturlig ordning efter värde.
statisk komparatorcomparingByValue(Comparator cmp)Den returnerar en komparator som jämför objekten efter värde med hjälp av den givna komparatorn.

Exempel på Java-karta: icke-generiskt (gammal 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()); } } } 

Produktion:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Exempel på Java-karta: 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()); } } } 

Produktion:

 102 Rahul 100 Amit 101 Vijay 

Java Map Exempel: 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); } } 

Produktion:

 100=Amit 101=Vijay 102=Rahul 

Exempel på Java-karta: comparingByKey() i fallande ordning

 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); } } 

Produktion:

 102=Rahul 101=Vijay 100=Amit 

Exempel på Java-karta: 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); } } 

Produktion:

stänga av utvecklarläget för Android
 100=Amit 102=Rahul 101=Vijay 

Exempel på Java-karta: comparingByValue() i fallande ordning

 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); } } 

Produktion:

 101=Vijay 102=Rahul 100=Amit