Come implementare l'interfaccia della mappa in Java?



Questo articolo su Java Map Inteface ti aiuterà a capire come funziona Map in Java e ti introduce a diverse classi che implementano Map Interface

Uno degli argomenti più interessanti in Java è l'interfaccia Map cherappresenta una mappatura tra una chiave e un valore.Spesso viene frainteso come un sottotipo di interfaccia in Java.Questo articolo sull'interfaccia Java Map ti aiuterà a capire e padroneggiare come funziona una mappa .

Di seguito sono elencati gli argomenti trattati in questo articolo:





Interfaccia Java Map

Una mappa in Java è un file oggetto che mappa le chiavi sui valori ed è progettato per ricerche più veloci. I dati vengono archiviati in coppie chiave-valore e ogni chiave è univoca. Ogni chiave è mappata a un valore da cui il nome map. Queste coppie chiave-valore sono chiamate voci della mappa.

Mappe in Java - Interfaccia Java Map - Edureka



Nel , java.util.Map è un che include firme di metodo per l'inserimento, la rimozione e il recupero di elementi basati su una chiave. Con questi metodi, è uno strumento perfetto da utilizzare per la mappatura delle associazioni di valori-chiave come i dizionari.

Caratteristiche dell'interfaccia della mappa

  • L'interfaccia Map non è un vero sottotipo dell'interfaccia Collection, quindi,le sue caratteristiche e comportamenti sono diversi dal resto dei tipi di raccolta.
  • Forniscetre viste di raccolta: serie di chiavi, serie di mappature valore-chiave e raccolta di valori.
  • PERCarta geograficanon può contenere chiavi duplicate e ogni chiave può mappare al massimo un valore. Alcune implementazioni consentono la chiave null e il valore null ( HashMap e LinkedHashMap ) ma alcuni no ( TreeMap).
  • L'interfaccia Map non garantisce l'ordine delle mappature, tuttavia dipende dall'implementazione. Per esempio, HashMap non garantisce l'ordine delle mappature ma TreeMap fa.
  • La classe AbstractMap fornisce un'implementazione scheletrica dell'interfaccia Java Map e la maggior parte del calcestruzzo Map classi estendere la classe AbstractMap e implementare i metodi richiesti.

Ora che hai un'idea di quale sia l'interfaccia di Map è, andiamo avanti e controlliamo la gerarchia di Java Map.

Gerarchia di mappe Java

Ci sono due interfacce che implementano la mappa in java: Map e SortedMap. E le classi di implementazione popolari di Map in Java sono HashMap, TreeMap , e LinkedHashMap. La gerarchia di Java Map è riportata di seguito:



Prima di esaminare le tre classi di implementazione dell'interfaccia Java Map menzionate sopra, ecco alcuni metodi comuni che puoi incontrare quando lavori con la mappa.

Metodi nell'interfaccia Java Map

Metodi

Descrizione

public put (chiave oggetto, valore oggetto)Questo metodo inserisce una voce nella mappa
pubblicovoid putAll (Mappa mappa)Questo metodo inserisce la mappa specificata in questa mappa
public Object remove (Object key)Viene utilizzato per eliminare una voce per la chiave specificata
public Set keySet ()Restituisce la vista Set contenente tutte le chiavi
public Set entrySet ()Restituisce la vista Set contenente tutte le chiavi e i valori
void clear ()Viene utilizzato per ripristinare la mappa
public void putIfAbsent (chiave K, valore V)Inserisce il valore specificato con la chiave specificata nella mappa solo se non è già specificato
public Object get (Object key)Restituisce il valore per la chiave specificata
public boolean containsKey (Object key)
Viene utilizzato per cercare la chiave specificata da questa mappa

Implementazioni di Map

Ce ne sono diversi che implementano la Java Mapma lo sono tre implementazioni principali e genericheHashMap, TreeMap e LinkedHashMap.Vediamo le caratteristiche e i comportamenti di ciascuna implementazione con un esempio

Classe HashMap

La classe più comune che implementa l'interfaccia Java Map è HashMap. È un'implementazione basata su una tabella hash dell'interfaccia Map.Implementa tutte le operazioni sulla mappae consente valori null e una chiave null. Inoltre, questa classe non mantiene alcun ordine tra i suoi elementi. Ecco un esempio di programma che mostra la classe HashMap.

pacchetto MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map course = new HashMap () // Aggiungi alcuni corsi. course.put ('Java Courses', new Integer (6)) courses.put ('Cloud Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (5)) courses.put (' Corsi di Data Science ', nuovo Integer (2)) System.out.println (' Corsi totali: '+ course.size ()) Impostast = course.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (course.containsKey (searchKey)) System.out.println ('Found total' + courses.get (searchKey) + '' + searchKey)}}

Produzione

Corsi totali: 4 Corsi Cloud: 7 Corsi di programmazione: 5 Corsi di Data Science: 2 Corsi Java: 6 Totale trovati 6 Corsi Java

Nel programma sopra, ho usato molti metodi menzionati nella tabella. In primo luogo, il file mettere() il metodo inserisce 4 voci nella mappa e il taglia() nel passaggio successivo viene visualizzata la dimensione della mappa (coppie chiave-valore totali). Successivamente, nel passaggio successivo, il file entrySet () restituisce tutte le coppie chiave-valore. Il programma mostra anche come utilizzare ottenere() metodo per cercare un valore utilizzando la chiave associata.

Passiamo alla classe successiva che implementa l'interfaccia Java Map: TreeMap.

Classe TreeMap

Questa implementazione utilizza l'albero rosso-nero come sottostante struttura dati . Una TreeMap viene ordinata in base all'ordinamento naturale delle sue chiavi o da un comparatore fornito al momento della creazione. Questa implementazione non consente i valori nulli ma mantieneordine sui suoi elementi. Ecco un esempio di programma che mostra la classe TreeMap.

pacchetto MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map course = new TreeMap () // Aggiungi alcuni corsi. course.put ('Java Courses', new Integer (3)) courses.put ('AWS Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (8)) courses.put (' Corsi di Data Science ', nuovo Integer (2)) System.out.println (' Corsi totali: '+ course.size ()) Impostast = course.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Produzione

Corsi totali: 4 Corsi AWS: 7 Corsi di Data Science: 2 Corsi Java: 3 Corsi di programmazione: 8

webdriver selenio con cetriolo esempio in eclipse

Nell'output, gli elementi della mappa sono stampati in un rigoroso ordine lessicografico, che non compare negli esempi precedenti di HashMap. La prossima lezione di cui parleremo sono LinkedHashMap .

Classe LinkedHashMap

Come indica il nome, questa implementazione dell'interfaccia Java Map utilizza una tabella hash e un elenco collegato come strutture dati sottostanti. Quindi l'ordine di una LinkedHashMap èprevedibile, con ordine di inserzione come ordine predefinito. Inoltre, consente valori nulli come in HashMap. Ecco un esempio di programma che mostra la classe TreeMap.

pacchetto MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap course = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', new Integer (7)) courses.put (' Programming Courses ', new Integer (8)) courses.put (' Data Science Courses ', new Integer (2)) // Stampa gli elementi nello stesso ordine // come sono stati inseriti System.out.println (corsi) System.out.println ('Corsi totali:' + course.size ()) System.out.println ('Contiene la chiave' Hadoop '?' + course.containsKey ('Hadoop')) System.out.println ('Ottenere valore per la chiave' Corsi di programmazione ':' + course.get ('Corsi di programmazione')) System.out.println ('La mappa è vuota?' + Course.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (courses)}}

Produzione

{Java Courses = 3, Cloud Courses = 7, Programming Courses = 8, Data Science Courses = 2} Corsi totali: 4 Contiene la chiave 'Hadoop'? false Recupero del valore per la chiave 'Corsi di programmazione': 8 La mappa è vuota? false delete elemento 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

Il programma di esempio è abbastanza semplice da capire. Ho utilizzato alcuni metodi di base per dimostrare il funzionamento di LinkeHashMap in Java. Come ho detto prima, oltre a queste tre ci sono molte altre classi che implementano l'interfaccia Java Map.

Questo ci porta alla fine di questo articolo 'Java Map Interface'. Ho trattato uno degli argomenti interessanti di Java, che è l'interfaccia Map in Java.

Assicurati di esercitarti il ​​più possibile e di ripristinare la tua esperienza.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare oltre a queste domande di intervista Java, abbiamo creato un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questa 'interfaccia Java Map' articolo e ti risponderemo il prima possibile.