Kako implementirati sučelje karte u Javi?



Ovaj članak o Java Map Intefaceu pomoći će vam da shvatite kako Map radi na Javi te vas upoznati s različitim klasama koje implementiraju Map Interface

Jedna od najzanimljivijih tema u Javi je sučelje Map kojepredstavlja mapiranje između ključa i vrijednosti.Često se pogrešno razumije da je to podtip sučelje u Javi.Ovaj članak o sučelju Java Map pomoći će vam da razumijete i savladate način na koji karta djeluje .

Dolje su navedene teme u ovom članku:





Sučelje Java Map

Karta u Javi je objekt koji preslikava ključeve u vrijednosti i dizajniran je za brže pretraživanje. Podaci se pohranjuju u parovima ključ / vrijednost i svaki je ključ jedinstven. Svaka tipka preslikava se na vrijednost odakle i naziv mape. Ti se parovi ključ / vrijednost nazivaju unosi karte.

Karte na Javi - Java Map Interface - Edureka



U , java.util.Karta je što uključuje potpise metoda za umetanje, uklanjanje i pronalaženje elemenata na temelju ključa. S takvim metodama savršen je alat za mapiranje asocijacija ključ / vrijednost, poput rječnika.

Karakteristike sučelja karte

  • Sučelje Map nije prava podvrsta sučelja Collection, stoga,njegove se karakteristike i ponašanja razlikuju od ostalih vrsta kolekcije.
  • Pružatri prikaza zbirke - skup ključeva, skup preslikavanja ključ / vrijednost i zbirka vrijednosti.
  • DOKartane može sadržavati duplicirane ključeve i svaki se ključ može preslikati na najviše jednu vrijednost. Neke implementacije dopuštaju null ključ i null vrijednost ( HashMap i LinkedHashMap ) ali neki ne ( TreeMap).
  • Sučelje karte ne jamči redoslijed preslikavanja, međutim, to ovisi o implementaciji. Na primjer, HashMap ne garantira redoslijed preslikavanja, ali TreeMap čini.
  • Klasa AbstractMap pruža skeletnu implementaciju sučelja Java Map i većinu konkretnog Map-a razreda proširiti klasu AbstractMap i implementirati potrebne metode.

Sad kad imate ideju o tome u kojem sučelju Map je, idemo naprijed i provjerimo hijerarhiju Java Mape.

Hijerarhija Java karte

Postoje dva sučelja koja implementiraju Map u javi: Map i SortedMap. A popularne klase implementacije Map u Javi su HashMap, TreeMap , i LinkedHashMap. Hijerarhija Java Mape dana je u nastavku:



Prije nego što provjerimo tri gore spomenute klase implementacije sučelja Java Map, evo nekoliko uobičajenih metoda na koje možete naići tijekom rada s Mapom.

Metode u sučelju Java Map

Metode

Opis

javni put (ključ objekta, vrijednost objekta)Ova metoda unosi unos na kartu
javnostvoid putAll (karta na karti)Ova metoda ubacuje navedenu kartu u ovu kartu
javni objekt ukloni (ključ objekta)Koristi se za brisanje unosa za navedeni ključ
javni set keySet ()Vraća prikaz Set koji sadrži sve tipke
javni Postavi entrySet ()Vraća prikaz Set koji sadrži sve ključeve i vrijednosti
void clear ()Koristi se za resetiranje karte
javna praznina putIfAbsent (ključ K, vrijednost V)Na karticu ubacuje navedenu vrijednost navedenim ključem samo ako već nije navedena
javni Object get (Object key)Vraća vrijednost za navedeni ključ
javni boolean containsKey (ključ objekta)
Koristi se za pretraživanje određenog ključa s ove karte

Implementacije karte

Ima ih nekoliko koji implementiraju Java Mapali tri su glavne i opće namjeneHashMap, TreeMap i LinkedHashMap.Pogledajmo karakteristike i ponašanja svake implementacije na primjeru

Razred HashMap

Najčešća klasa koja implementira sučelje Java Map je HashMap. To je implementacija sučelja Map temeljena na hash tablici.Provodi sve operacije na mapii omogućuje null vrijednosti i jedan null ključ. Također, ova klasa ne održava nikakav red među svojim elementima. Evo primjera programa koji demonstrira klasu HashMap.

paket MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // Dodajte neke tečajeve. courses.put ('Java Tečajevi', novi integritet (6)) courses.put ('Tečajevi u oblaku', novi Integer (7)) courses.put ('Tečajevi programiranja', novi Integer (5)) courses.put (' Tečajevi znanosti o podacima ', novi Integer (2)) System.out.println (' Ukupno tečajeva: '+ courses.size ()) Setst = courses.entrySet () za (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java tečajevi' if (courses.containsKey (searchKey)) System.out.println ('Ukupno pronađeno' + courses.get (searchKey) + '' + searchKey)}}

Izlaz

Ukupno tečajeva: 4 Tečajevi u oblaku: 7 Tečajevi programiranja: 5 Tečajevi znanosti: 2 Java Tečajevi: 6 Pronađeno ukupno 6 Java Tečajevi

U gore navedenom programu koristio sam puno metoda spomenutih u tablici. Prvo, staviti() metoda ubacuje 4 unosa na kartu, a veličina() metoda u sljedećem koraku prikazuje veličinu karte (ukupni parovi ključ / vrijednost). Nakon toga, u sljedećem koraku, entrySet () metoda vraća sve parove ključ / vrijednost. Program također pokazuje kako iskoristiti dobiti() metoda za traženje vrijednosti pomoću pridruženog ključa.

Prijeđimo na sljedeću klasu koja implementira sučelje Java Map - TreeMap.

niz objekata java primjer

Klasa TreeMap

Ova implementacija koristi crveno-crno stablo kao temelj struktura podataka . Karta stabla sortirana je prema prirodnom redoslijedu njezinih ključeva ili prema usporedbi koja se pruža u vrijeme izrade. Ova implementacija ne dopušta nule, ali održavaporedak na njegovim elementima. Evo primjera programa koji demonstrira klasu TreeMap.

paket MyPackage import java.util. * klasa TreeMapEx {public static void main (String [] args) {Mapa tečajeva = nova TreeMap () // Dodajte neke tečajeve. courses.put ('Java tečajevi', novi cjeloviti (3)) courses.put ('AWS tečajevi', novi cjeloviti (7)) courses.put ('Tečajevi programiranja', novi cjeloviti (8)) courses.put (' Tečajevi znanosti o podacima ', novi Integer (2)) System.out.println (' Ukupno tečajeva: '+ courses.size ()) Setst = courses.entrySet () za (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Izlaz

Ukupno tečajeva: 4 AWS tečaja: 7 tečajeva znanosti o znanosti: 2 Java tečaja: 3 tečaja programiranja: 8

U izlazu se elementi karte ispisuju strogim leksikografskim redoslijedom, što se ne pojavljuje u prethodnim primjerima HashMap-a. Sljedeći čas o kojem ćemo razgovarati su LinkedHashMap .

Klasa LinkedHashMap

Kao što naziv označava, ova implementacija sučelja Java Map koristi hash tablicu i povezani popis kao temeljne strukture podataka. Dakle, redoslijed LinkedHashMap jepredvidljiv, s redoslijedom umetanja kao zadanim redoslijedom. Također, omogućuje nule kao u HashMap-u. Evo primjera programa koji demonstrira klasu TreeMap.

paket MyPackage import java.util. * javna klasa LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Tečajevi u oblaku ', novi Integer (7)) courses.put (' Tečajevi programiranja ', novi Integer (8)) courses.put (' Tečajevi znanosti o podacima ', novi Integer (2)) // Ispisuje elemente istim redoslijedom // kao što su umetnuti System.out.println (tečajevi) System.out.println ('Ukupno tečajeva:' + courses.size ()) System.out.println ('Sadrži ključ' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Dobivanje vrijednosti za ključ' Programiranje tečajeva ':' + courses.get ('Programiranje tečajeva')) System.out.println ('Je li karta prazna?' + Courses.isEmpty ()) System.out.println ('obrisati element' Tečajevi u oblaku ':' + tečajevi.remove ('Tečajevi u oblaku')) System.out.println (tečajevi)}}

Izlaz

{Java tečajevi = 3, tečajevi u oblaku = 7, tečajevi programiranja = 8, tečajevi znanosti o znanosti = 2} Ukupno tečajeva: 4 Sadrži ključ 'Hadoop'? false Dobivanje vrijednosti za ključ 'Tečajevi programiranja': 8 Je li karta prazna? false delete element 'Cloud Tečajevi': 7 {Java Tečajevi = 3, Programiranje = 8, Data Science Tečajevi = 2}

Primjer programa je prilično jednostavan za razumijevanje. Koristio sam neke osnovne metode kako bih pokazao funkcioniranje LinkeHashMap u Javi. Kao što sam ranije rekao, osim ove tri, postoji i mnoštvo drugih klasa koje implementiraju sučelje Java Map.

Ovo nas dovodi do kraja ovog članka 'Sučelje Java Map'. Obradio sam jednu od zanimljivih tema Jave, a to je Sučelje karte u Javi.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

Pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju, jer osim što postajete pitanja za ovaj intervju za javu, donosimo kurikulum koji je dizajniran za studente i profesionalce koji žele biti programer za Javu.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog ‘sučelja java karte’ članka i javit ćemo vam se u najkraćem mogućem roku.