Šajā apmācībā mēs uzzināsim par Java Map saskarni un tās metodēm.
Map
Java kolekcijas ietvaros saskarne nodrošina funkcionalitāti kartes datu struktūras.
Kartes darbība
Java elementi Map
tiek glabāti atslēgu / vērtību pāros. Atslēgas ir unikālas vērtības, kas saistītas ar atsevišķām vērtībām .
Kartē nedrīkst būt atslēgu dublikāti. Katra atslēga ir saistīta ar vienu vērtību.
Mēs varam piekļūt vērtībām un tās modificēt, izmantojot ar tām saistītās atslēgas.
Iepriekš redzamajā diagrammā mums ir vērtības: Amerikas Savienotās Valstis, Brazīlija un Spānija. Un mums ir atbilstošās atslēgas: mēs, br un es.
Tagad mēs varam piekļūt šīm vērtībām, izmantojot atbilstošās atslēgas.
Piezīme:Map
interfeiss saglabā 3 dažādi komplekti:
- atslēgu komplekts
- vērtību kopa
- atslēgu / vērtību asociāciju kopa (kartēšana).
Tādējādi mēs individuāli varam piekļūt atslēgām, vērtībām un asociācijām.
Nodarbības, kurās tiek ieviesta karte
Tā kā Map
tā ir saskarne, mēs nevaram no tā izveidot objektus.
Lai izmantotu Map
saskarnes funkcionalitāti , mēs varam izmantot šīs klases:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Šīs klases ir definētas kolekciju ietvarā un ievieš Map
saskarni.

Saskarnes, kas paplašina Map
Map
Saskarne tiek pagarināts arī ar šiem subinterfaces:
- SortedMap
- NavigableMap
- Vienlaicīga karte

Kā lietot Map?
Java lietošanai mums ir jāimportē java.util.Map
pakete Map
. Kad pakotne ir importēta, karte var tikt izveidota šādi.
// Map implementation using HashMap Map numbers = new HashMap();
Iepriekš minētajā kodā mēs esam izveidojuši Map
nosauktus numurus. Interfeisa HashMap
ieviešanai mēs izmantojām klasi Map
.
Šeit,
- Atslēga - unikāls identifikators, ko izmanto, lai katru elementu (vērtību) saistītu kartē
- Vērtība - elementi, kas saistīti ar atslēgām kartē
Kartes metodes
Map
Interfeiss ietver visas metodes ar Collection
interfeisu. Tas ir tāpēc, ka Collection
ir super saskarne Map
.
Papildus Collection
saskarnē pieejamajām metodēm Map
interfeiss ietver arī šādas metodes:
- put (K, V) - ievieto kartē atslēgas K un vērtības V saistību. Ja atslēga jau ir, jaunā vērtība aizstāj veco vērtību.
- putAll () - Šajā kartē ievieto visus ierakstus no norādītās kartes.
- putIfAbsent (K, V) - ievieto asociāciju, ja atslēga K vēl nav saistīta ar vērtību V.
- get (K) - atgriež vērtību, kas saistīta ar norādīto atslēgu K. Ja atslēga nav atrasta, tā atgriežas
null
. - getOrDefault (K, defaultValue) - atgriež vērtību, kas saistīta ar norādīto atslēgu K. Ja atslēga nav atrasta, tā atgriež defaultValue.
- saturKey (K) - pārbauda, vai kartē ir norādītais taustiņš K vai nav.
- saturValue (V) - pārbauda, vai norādītā vērtība V kartē ir vai nav.
- aizstāt (K, V) - aizstājiet atslēgas K vērtību ar jauno norādīto vērtību V.
- aizstāt (K, oldValue, newValue) - atslēgas K vērtību aizstāj ar jauno vērtību newValue tikai tad, ja atslēga K ir saistīta ar vērtību oldValue.
- noņemt (K) - noņem ierakstu no kartes, ko attēlo atslēga K
- noņemt (K, V) - noņem karti no kartes, kuras atslēga K ir saistīta ar V vērtību.
- keySet () - atgriež visu kartē esošo atslēgu kopu.
- vērtības () - atgriež visu kartē esošo vērtību kopu.
- entrySet () - atgriež visu kartē esošo atslēgu / vērtību kartējumu kopu.
Kartes saskarnes ieviešana
1. HashMap klases ieviešana
import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) )
Rezultāts
Karte: (viens = 1, divi = 2) taustiņi: (viens, divi) vērtības: (1, 2) ieraksti: (viens = 1, divi = 2) noņemtā vērtība: 2
Lai uzzinātu vairāk par to HashMap
, apmeklējiet Java HashMap.
2. TreeMap klases ieviešana
import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) )
Rezultāts
Karte, izmantojot TreeMap: (pirmā = 1, otrā = 2) jauna karte: (pirmā = 11, otrā = 22) noņemtā vērtība: 11
Lai uzzinātu vairāk par to TreeMap
, apmeklējiet Java TreeMap.