Cum se implementează interfața hartă în Java?



Acest articol despre Java Map Inteface vă va ajuta să înțelegeți cum funcționează Map în Java și vă prezintă diferite clase care implementează Map Interface

Unul dintre cele mai interesante subiecte din Java este interfața Map carereprezintă o mapare între o cheie și o valoare.Este adesea înțeles greșit a fi un subtip de interfață în Java.Acest articol despre interfața Java Map vă va ajuta să înțelegeți și să învățați cum funcționează o hartă .

Mai jos sunt enumerate subiectele tratate în acest articol:





Interfață Java Map

O hartă în Java este o obiect care mapează cheile la valori și este proiectat pentru căutări mai rapide. Datele sunt stocate în perechi cheie-valoare și fiecare cheie este unică. Fiecare cheie mapează la o valoare, de aici și harta numelui. Aceste perechi cheie-valoare sunt numite intrări pe hartă.

Hărți în Java - Interfață Java Map - Edureka



În , java.util.Map este un care include semnăturile metodei pentru inserarea, eliminarea și recuperarea elementelor pe baza unei chei. Cu astfel de metode, este un instrument perfect de utilizat pentru cartografierea asocierii cheie-valoare, cum ar fi dicționarele.

Caracteristicile interfeței cu hărțile

  • Interfața Hartă nu este un subtip adevărat al interfeței Colecție, prin urmare,caracteristicile și comportamentele sale sunt diferite de restul tipurilor de colecție.
  • Oferătrei vizualizări de colecție - set de chei, set de mapări cheie-valoare și colecție de valori.
  • LAHartănu poate conține chei duplicate și fiecare cheie poate fi mapată la cel mult o valoare. Unele implementări permit cheia nulă și valoarea nulă ( HashMap și LinkedHashMap ) dar unii nu ( TreeMap).
  • Interfața Map nu garantează ordinea mapărilor, însă depinde de implementare. De exemplu, HashMap nu garantează ordinea mapărilor, dar TreeMap face.
  • Clasa AbstractMap oferă o implementare scheletică a interfeței Java Map și a majorității betonului Map clase extindeți clasa AbstractMap și implementați metodele necesare.

Acum, că aveți o idee despre ce interfață Map adică, să mergem mai departe și să verificăm ierarhia hărții Java.

Ierarhia hărților Java

Există două interfețe care implementează harta în java: Map și SortedMap. Și clasele populare de implementare ale hărții în Java sunt HashMap, TreeMap , și LinkedHashMap. Ierarhia hărții Java este dată mai jos:



Înainte de a verifica cele trei clase de implementare ale interfeței Java Map menționate mai sus, iată câteva metode comune pe care le puteți întâlni atunci când lucrați cu harta.

Metode în interfața Java Map

Metode

Descriere

public put (cheie obiect, valoare obiect)Această metodă introduce o intrare în hartă
publicvoid putAll (hartă hartă)Această metodă inserează harta specificată în această hartă
Eliminare obiect public (cheie obiect)Este folosit pentru a șterge o intrare pentru cheia specificată
public Set keySet ()Revine vizualizarea Set care conține toate tastele
public Set entrySet ()Revine vizualizarea Set care conține toate cheile și valorile
gol clar ()Este folosit pentru a reseta harta
public void putIfAbsent (cheie K, valoare V)Inserează valoarea specificată cu cheia specificată în hartă numai dacă nu este deja specificată
Obiect public obținut (cheie obiect)Returnează valoarea pentru cheia specificată
booleanul public conține Key (cheie obiect)
Este folosit pentru a căuta cheia specificată din această hartă

Implementarea Hărții

Sunt câteva care implementează harta Javadar trei implementări majore și cu scop general suntHashMap, TreeMap și LinkedHashMap.Să vedem caracteristicile și comportamentele fiecărei implementări cu un exemplu

Clasa HashMap

Cea mai obișnuită clasă care implementează interfața Java Map este HashMap. Este o implementare bazată pe tabel hash a interfeței Map.Implementează toate operațiunile Hărțiiși permite valori nule și o cheie nulă. De asemenea, această clasă nu menține nicio ordine între elementele sale. Iată un exemplu de program care demonstrează clasa HashMap.

pachetul MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // Adăugați câteva cursuri. courses.put ('Cursuri Java', nou întreg (6)) courses.put ('Cursuri în cloud', nou întreg (7)) courses.put ('Cursuri de programare', nou întreg (5)) courses.put (' Cursuri de științe ale datelor ”, nou întreg (2)) System.out.println („ Total cursuri: ”+ courses.size ()) Setst = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Cursuri Java' if (courses.containsKey (searchKey)) System.out.println ('Total găsit' + courses.get (searchKey) + '' + searchKey)}}

Ieșire

Total cursuri: 4 Cursuri Cloud: 7 Cursuri de programare: 5 Cursuri știința datelor: 2 Cursuri Java: 6 găsite în total 6 Cursuri Java

În programul de mai sus, am folosit o mulțime de metode menționate în tabel. În primul rând, a pune() metoda introduce 4 intrări pe hartă și fișierul mărimea() metoda din pasul următor afișează dimensiunea hărții (perechi totale cheie-valoare). După aceea, în pasul următor, entrySet () metoda returnează toate perechile cheie-valoare. Programul arată, de asemenea, cum să utilizați obține() metoda de a căuta o valoare folosind cheia asociată.

Să trecem la următoarea clasă care implementează interfața Java Map - TreeMap.

cum se creează clasa de singleton în java

Clasa TreeMap

Această implementare folosește arborele roșu-negru ca bază structură de date . O TreeMap este sortată în funcție de ordonarea naturală a cheilor sale sau de un comparator furnizat la momentul creării. Această implementare nu permite nule, dar mențineordinea asupra elementelor sale. Iată un exemplu de program care demonstrează clasa TreeMap.

pachetul MyPackage import java.util. * clasa TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Adăugați câteva cursuri. courses.put („Cursuri Java”, nou întreg (3)) courses.put („Cursuri AWS”, nou întreg (7)) courses.put („Cursuri de programare”, nou întreg (8)) courses.put („ Cursuri de științe ale datelor ”, nou întreg (2)) System.out.println („ Total cursuri: ”+ courses.size ()) Setst = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Ieșire

Total cursuri: 4 cursuri AWS: 7 cursuri știința datelor: 2 cursuri Java: 3 cursuri de programare: 8

În ieșire, elementele hărții sunt tipărite într-o ordine lexicografică strictă, care nu apare în exemplele anterioare ale HashMap. Următoarea clasă pe care o vom discuta sunt LinkedHashMap .

Clasa LinkedHashMap

După cum indică numele, această implementare a interfeței Java Map utilizează un tabel hash și o listă legată ca structuri de date subiacente. Astfel ordinea unui LinkedHashMap esteprevizibil, cu ordinea de inserare ca ordine implicită. De asemenea, permite valori nule ca în HashMap. Iată un exemplu de program care demonstrează clasa TreeMap.

pachetul MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cursuri în cloud ”, nou întreg (7)) courses.put („ Cursuri de programare ”, nou întreg (8)) courses.put („ Cursuri de știință a datelor ”, nou întreg (2)) // Tipărește elementele în aceeași ordine // așa cum au fost inserate System.out.println (cursuri) System.out.println ('Total cursuri:' + courses.size ()) System.out.println ('Conține cheia' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Obținerea valorii pentru cheia' Cursuri de programare ':' + courses.get ('Cursuri de programare')) System.out.println ('Harta este goală?' + Courses.isEmpty ()) System.out.println („șterge elementul„ Cursuri în cloud ”:„ + courses.remove („Cursuri în cloud”)) System.out.println (cursuri)}}

Ieșire

{Cursuri Java = 3, Cursuri Cloud = 7, Cursuri de programare = 8, Cursuri știința datelor = 2} Total cursuri: 4 Conține cheia „Hadoop”? false Obținerea valorii cheii „Cursuri de programare”: 8 Harta este goală? element de ștergere fals „Cursuri în cloud”: 7 {Cursuri Java = 3, Cursuri de programare = 8, Cursuri știința datelor = 2}

Programul de exemplu este destul de simplu de înțeles. Am folosit câteva metode de bază pentru a demonstra funcționarea LinkeHashMap în Java. Așa cum am spus mai devreme, în afară de aceste trei, există o mulțime de alte clase care implementează interfața Java Map.

Acest lucru ne aduce la sfârșitul acestui articol „Interfața Java Map”. Am acoperit unul dintre subiectele interesante ale Java, care este interfața Map în Java.

Asigurați-vă că exersați cât mai mult posibil și reveniți la experiență.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni o afară de întrebările de interviuri java, venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestei „interfețe java Map” articol și vă vom răspunde cât mai curând posibil.