Com implementar la interfície de mapa a Java?

Aquest article sobre Java Map Inteface us ajudarà a entendre com funciona Map a Java i us presentarà diferents classes que implementen Map Interface

Un dels temes més interessants de Java és la interfície Maprepresenta un mapatge entre una clau i un valor.Sovint s’entén malament com un subtipus de interfície a Java.Aquest article sobre Java Map Interface us ajudarà a comprendre i dominar el funcionament d’un mapa .



A continuació s’enumeren els temes tractats en aquest article:



Interfície de mapa Java

Un mapa a Java és un objecte que assigna les claus a valors i està dissenyat per a cerques més ràpides. Les dades s’emmagatzemen en parells valor-clau i cada clau és única. Cada clau assigna un valor, d’aquí el nom. Aquests parells clau-valor s’anomenen entrades de mapa.

Mapes a Java - Interfície de mapes de Java - Edureka



A la , java.util.Map és un que inclou signatures de mètodes per a la inserció, eliminació i recuperació d'elements basats en una clau. Amb aquests mètodes, és una eina perfecta per fer servir per assignar associacions de valors-claus, com ara diccionaris.

Característiques de la interfície del mapa

  • La interfície de mapa no és un autèntic subtipus d’interfície de col·lecció, per tant,les seves característiques i comportaments són diferents de la resta de tipus de col·lecció.
  • Proporcionatres vistes de col·lecció: conjunt de claus, conjunt d’assignacions de valor-clau i col·lecció de valors.
  • AMapano pot contenir claus duplicades i cada clau pot assignar-se a un valor com a màxim. Algunes implementacions permeten la clau nul·la i el valor nul ( HashMap i LinkedHashMap ) però alguns no ( Mapa d’arbres).
  • La interfície del mapa no garanteix l’ordre de les assignacions, però depèn de la implementació. Per exemple, HashMap no garanteix l'ordre dels mapatges però Mapa d’arbres fa.
  • La classe AbstractMap proporciona una implementació esquelètica de la interfície Java Map i de la major part del mapa concret classes amplieu la classe AbstractMap i implementeu els mètodes necessaris.

Ara que ja teniu una idea de la interfície del mapa és a dir, anem endavant i comprovem la jerarquia de Java Map.

Jerarquia de mapes de Java

Hi ha dues interfícies que implementen el mapa a Java: Map i Mapa ordenat. I hi ha classes d'implementació populars de Map a Java HashMap, TreeMap , i LinkedHashMap. La jerarquia del mapa de Java es dóna a continuació:



Abans de comprovar les tres classes d’implementació de la interfície de mapa de Java esmentades anteriorment, aquí teniu alguns mètodes habituals que podeu trobar quan treballeu amb el mapa.

Mètodes a la interfície de mapa de Java

Mètodes

Descripció

public put (clau d'objecte, valor d'objecte)Aquest mètode insereix una entrada al mapa
públicvoid putAll (mapa del mapa)Aquest mètode insereix el mapa especificat en aquest mapa
Eliminació d'objectes públics (clau d'objecte)S'utilitza per suprimir una entrada per a la clau especificada
públic Establir keySet ()Torna la vista Establir que conté totes les claus
públic Set entrySet ()Torna la vista Establir que conté totes les claus i valors
void clear ()S'utilitza per restablir el mapa
public void putIfAbsent (clau K, valor V)Insereix el valor especificat amb la clau especificada al mapa només si encara no està especificat
public Object get (clau d'objecte)Retorna el valor de la clau especificada
booleà públic conté la clau (clau d'objecte)
S'utilitza per buscar la clau especificada des d'aquest mapa

Implementacions de Mapa

Hi ha diversos que implementen el mapa de Javaperò hi ha tres implementacions principals i de propòsit generalHashMap, TreeMap i LinkedHashMap.Vegem les característiques i els comportaments de cada implementació amb un exemple

Classe HashMap

La classe més comuna que implementa la interfície Java Map és HashMap. És una implementació basada en taules de hash de la interfície Map.Implementa totes les operacions del mapai permet valors nuls i una clau nul·la. A més, aquesta classe no manté cap ordre entre els seus elements. Aquí teniu un exemple de programa que demostra la classe HashMap.

paquet MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Mapa cursos = nou HashMap () // Afegiu alguns cursos. courses.put ('Cursos Java', nou enter (6)) courses.put ('Cursos al núvol', nou enter (7)) courses.put ('Cursos de programació', nou enter (5)) courses.put (' Cursos de ciències de dades ', nou número enter (2)) System.out.println (' Total cursos: '+ courses.size ()) Setst = courses.entrySet () per a (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Cursos Java' if (courses.containsKey (searchKey)) System.out.println ('Total trobat' + courses.get (searchKey) + '' + searchKey)}}

Sortida

Total de cursos: 4 Cursos al núvol: 7 Cursos de programació: 5 Cursos de ciències de les dades: 2 Cursos Java: 6 Total trobats 6 Cursos Java

Al programa anterior, he utilitzat molts mètodes esmentats a la taula. En primer lloc, el put () el mètode insereix 4 entrades al mapa i el fitxer mida () El mètode del pas següent mostra la mida del mapa (total de parells clau-valor). Després, al següent pas, el fitxer entrySet () el mètode retorna tots els parells clau-valor. El programa també mostra com fer-ne ús aconseguir() mètode per cercar un valor mitjançant la clau associada.

Passem a la següent classe que implementa la interfície Java Map - TreeMap.

com sortir d'un programa java

Classe TreeMap

Aquesta implementació utilitza l'arbre vermell-negre com a subjacent estructura de dades . Un TreeMap s’ordena segons l’ordenació natural de les seves claus o mitjançant un comparador proporcionat en el moment de la creació. Aquesta implementació no permet nuls, però mantéordre sobre els seus elements. Aquí teniu un exemple de programa que demostra la classe TreeMap.

paquet MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Mapa cursos = nou TreeMap () // Afegiu alguns cursos. courses.put ('Cursos Java', nou enter (3)) courses.put ('AWS Cursos', nou enter (7)) courses.put ('Cursos de programació', nou enter (8)) courses.put (' Cursos de ciències de dades ', nou número enter (2)) System.out.println (' Total cursos: '+ courses.size ()) Setst = courses.entrySet () per a (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Sortida

Total de cursos: 4 cursos AWS: 7 cursos de ciència de dades: 2 cursos Java: 3 cursos de programació: 8

A la sortida, els elements del mapa s’imprimeixen en un estricte ordre lexicogràfic, que no apareix en els exemples anteriors de HashMap. La següent classe que comentarem és LinkedHashMap .

Classe LinkedHashMap

Com el seu nom indica, aquesta implementació de la interfície Java Map utilitza una taula de hash i una llista enllaçada com a estructures de dades subjacents. Per tant, l’ordre d’un LinkedHashMap ésprevisible, amb l'ordre d'inserció com a ordre predeterminat. A més, permet nuls com a HashMap. Aquí teniu un exemple de programa que demostra la classe TreeMap.

paquet 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 (' Cloud Courses ', nou Integer (7)) courses.put (' Programació de cursos ', nou Integer (8)) courses.put (' Data Science Courses ', nou Integer (2)) // Imprimeix els elements en el mateix ordre // a mesura que s'inserien System.out.println (cursos) System.out.println ('Total cursos:' + courses.size ()) System.out.println ('Conté la clau' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Obtenció de valor per a la clau' Programació de cursos ':' + courses.get ('Programació de cursos')) System.out.println ('El mapa està buit?' + Courses.isEmpty ()) System.out.println ('elimina l'element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (courses)}}

Sortida

{Cursos Java = 3, Cursos al núvol = 7, Cursos de programació = 8, Cursos de ciències de les dades = 2} Total cursos: 4 Conté la clau 'Hadoop'? false Obtenir valor per a la clau 'Cursos de programació': 8 El mapa està buit? element de supressió fals 'Cursos al núvol': 7 {Cursos Java = 3, Cursos de programació = 8, Cursos de ciències de dades = 2}

L'exemple de programa és bastant senzill d'entendre. He utilitzat alguns mètodes bàsics per demostrar el funcionament de LinkeHashMap a Java. Com he dit anteriorment, a part d'aquests tres, hi ha moltes altres classes que implementen la interfície Java Map.

Això ens porta al final d’aquest article sobre la ‘Interfície de mapes de Java’. He tractat un dels temes interessants de Java, que és la interfície de mapes a Java.

Assegureu-vos de practicar el màxim possible i de recuperar la vostra experiència.

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Estem aquí per ajudar-vos en tots els passos del vostre viatge, per convertir-vos en una pregunta a part d’aquestes entrevistes java, oferim un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d'aquesta 'interfície de mapa java' article i ens posarem en contacte amb vostè el més aviat possible.