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
- Caratteristiche dell'interfaccia della mappa
- Gerarchia di mappe Java
- Metodi nell'interfaccia Java Map
- Implementazioni di Map Interface
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.
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.