Karte satur vērtības, pamatojoties uz atslēgu, t.i., atslēgu un vērtību pāri. Katrs atslēgas un vērtību pāris ir pazīstams kā ieraksts. Karte satur unikālas atslēgas.
Karte ir noderīga, ja jums ir jāmeklē, jāatjaunina vai jādzēš elementi, pamatojoties uz atslēgu.
Java karšu hierarhija
Kartes ieviešanai java ir divas saskarnes: Map un SortedMap, kā arī trīs klases: HashMap, LinkedHashMap un TreeMap. Java kartes hierarhija ir norādīta zemāk:
Karte neatļauj dublēt atslēgas, taču jums var būt dublētas vērtības. HashMap un LinkedHashMap pieļauj nulles atslēgas un vērtības, bet TreeMap neatļauj nulles atslēgu vai vērtību.
Karti nevar šķērsot, tāpēc tā ir jāpārvērš par Iestatīt, izmantojot keySet() vai ierakstsSet() metodi.
Klase | Apraksts |
---|---|
HashMap | HashMap ir Map ieviešana, taču tā neuztur nekādu kārtību. |
LinkedHashMap | LinkedHashMap ir Map ieviešana. Tas manto HashMap klasi. Tas uztur ievietošanas secību. |
TreeMap | TreeMap ir Map un SortedMap ieviešana. Tas uztur augošu secību. |
Noderīgas kartes saskarnes metodes
Metode | Apraksts |
---|---|
V put (objekta atslēga, objekta vērtība) | To izmanto, lai kartē ievietotu ierakstu. |
nevar likt visu (kartes karte) | To izmanto, lai kartē ievietotu norādīto karti. |
V putJaNav(atslēga K, V vērtība) | Tas ievieto norādīto vērtību ar norādīto atslēgu kartē tikai tad, ja tā vēl nav norādīta. |
V noņemšana (objekta atslēga) | To izmanto, lai dzēstu norādītās atslēgas ierakstu. |
Būla noņemšana (objekta atslēga, objekta vērtība) | Tas no kartes noņem norādītās vērtības ar saistītajām norādītajām atslēgām. |
Iestatīt keySet() | Tas atgriež Iestatīšanas skatu, kurā ir visi taustiņi. |
Iestatīt | Tas atgriež kopas skatu, kurā ir visas atslēgas un vērtības. |
tukšums skaidrs () | To izmanto, lai atiestatītu karti. |
V aprēķins (K taustiņš, BiFunction pārkartošanas funkcija) | To izmanto, lai aprēķinātu kartējumu norādītajai atslēgai un tās pašreizējai kartētajai vērtībai (vai nullei, ja pašreizējā kartējuma nav). |
V computeIfAbsent (taustiņš K, funkciju kartēšanas funkcija) | To izmanto, lai aprēķinātu tās vērtību, izmantojot doto kartēšanas funkciju, ja norādītā atslēga jau nav saistīta ar vērtību (vai ir kartēta uz nulli), un ievada to šajā kartē, ja vien nav nulles. |
V computeIfPresent (taustiņš K, BiFunction remappingFunction) | To izmanto, lai aprēķinātu jaunu kartējumu, ņemot vērā atslēgu un tās pašreizējo kartēto vērtību, ja norādītās atslēgas vērtība ir un nav nulle. |
Būla saturs(objekta vērtība) | Šī metode atgriež patieso vērtību, ja kartē pastāv kāda vērtība, kas ir vienāda ar vērtību, pretējā gadījumā atgriež false. |
Būla vērtība saturKey (objekta atslēga) | Šī metode atgriež patieso vērtību, ja kartē pastāv atslēga, kas ir vienāda ar atslēgu, pretējā gadījumā atgriež false. |
Būla ir vienāds (Objekts o) | To izmanto, lai salīdzinātu norādīto objektu ar karti. |
spēkā neesošs par katru (divu patērētāju darbība) | Tas veic doto darbību katram ierakstam kartē, līdz visi ieraksti ir apstrādāti vai darbība rada izņēmumu. |
V get (objekta atslēga) | Šī metode atgriež objektu, kas satur ar atslēgu saistīto vērtību. |
V getOrDefault (objekta atslēga, V noklusējuma vērtība) | Tas atgriež vērtību, ar kuru norādītā atslēga ir kartēta, vai noklusējuma vērtību, ja kartē nav atslēgas kartējuma. |
int hashCode() | Tas atgriež kartes jaucējkoda vērtību |
Būla vērtība ir tukša() | Šī metode atgriež patieso vērtību, ja karte ir tukša; atgriež false, ja tajā ir vismaz viena atslēga. |
V sapludināšana (atslēga K, V vērtība, BiFunction remappingFunction) | Ja norādītā atslēga vēl nav saistīta ar vērtību vai ir saistīta ar nulli, saista to ar norādīto vērtību, kas nav nulle. |
V nomaiņa (taustiņš K, V vērtība) | Tas aizstāj norādīto vērtību noteiktai atslēgai. |
Būla nomaiņa (atslēga K, V oldValue, V newValue) | Tas aizstāj veco vērtību ar jauno vērtību noteiktai atslēgai. |
anulēt visu (funkcija BiFunction) | Tas aizvieto katra ieraksta vērtību ar šīs funkcijas izsaukšanas rezultātu šajā ierakstā, līdz visi ieraksti ir apstrādāti vai funkcija rada izņēmumu. |
Kolekcijas vērtības() | Tas atgriež kartē ietverto vērtību kolekcijas skatu. |
int size () | Šī metode atgriež ierakstu skaitu kartē. |
Karte.Ieejas interfeiss
Ieraksts ir kartes apakšinterfeiss. Tātad mums tai piekļūs pēc Map.Entry nosaukuma. Tas atgriež kartes kolekcijas skatu, kuras elementi ir no šīs klases. Tas nodrošina metodes atslēgas un vērtības iegūšanai.
Map.Entry saskarnes metodes
Metode | Apraksts |
---|---|
K getKey() | To izmanto, lai iegūtu atslēgu. |
V getValue() | To izmanto, lai iegūtu vērtību. |
int hashCode() | To izmanto, lai iegūtu hashCode. |
V setValue (V vērtība) | To izmanto, lai aizstātu šim ierakstam atbilstošo vērtību ar norādīto vērtību. |
Būla ir vienāds (Objekts o) | To izmanto, lai salīdzinātu norādīto objektu ar citiem esošajiem objektiem. |
statisks | Tas atgriež salīdzinātāju, kas salīdzina objektus dabiskā secībā uz taustiņa. |
statiskais salīdzinājums | Tas atgriež salīdzinātāju, kas salīdzina objektus pēc atslēgas, izmantojot doto Comparator. |
statisks | Tas atgriež salīdzinājumu, kas salīdzina objektus dabiskā secībā pēc vērtības. |
statiskais salīdzinājums | Tas atgriež salīdzinātāju, kas salīdzina objektus pēc vērtības, izmantojot doto Comparator. |
Java kartes piemērs: nevispārējs (vecais stils)
//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()); } } }
Izvade:
1 Amit 2 Jai 5 Rahul 6 Amit
Java kartes piemērs: vispārīgs (jauns stils)
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()); } } }
Izvade:
102 Rahul 100 Amit 101 Vijay
Java kartes piemērs: salīdzināšanaByKey()
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); } }
Izvade:
100=Amit 101=Vijay 102=Rahul
Java kartes piemērs: salīdzināšanaByKey() dilstošā secībā
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); } }
Izvade:
102=Rahul 101=Vijay 100=Amit
Java kartes piemērs: salīdzināšanaByValue()
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); } }
Izvade:
100=Amit 102=Rahul 101=Vijay
Java kartes piemērs: salīdzināšanaByValue() dilstošā secībā
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); } }
Izvade:
101=Vijay 102=Rahul 100=Amit