Differenza tra hashmap e map in Java
-
L’interfaccia
Map
in Java -
La classe
HashMap
in Java -
Usa un riferimento
Map
per contenere oggetti in Java -
Usa un riferimento
Map
per contenere oggetti in Java
Questo tutorial introduce le principali differenze tra Map
e HashMap
in Java.
In Java, Map
è un’interfaccia utilizzata per memorizzare i dati in coppie chiave-valore, mentre HashMap
è la classe di implementazione dell’interfaccia Map
. Java ha diverse classi (TreeHashMap
, LinkedHashMap
) che implementano l’interfaccia Map
per memorizzare i dati nella coppia chiave-valore. Vediamo alcuni esempi.
L’interfaccia Map
in Java
L’interfaccia Map
da sola non può essere utilizzata per contenere dati, ma possiamo creare un oggetto delle sue classi di implementazione e quindi utilizzare il riferimento Map
per contenere l’oggetto. Qui, usiamo la classe HashMap
per memorizzare i dati e l’interfaccia Map
per contenere il riferimento di questa classe. Vedi l’esempio sotto.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Produzione:
{One=1, Two=2, Three=3}
La classe HashMap
in Java
HashMap
è una classe di implementazione dell’interfaccia Map
. Quindi, possiamo usarlo per creare una raccolta di coppie chiave-valore. Vedi l’esempio sotto.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Produzione:
{One=1, Two=2, Three=3}
Usa un riferimento Map
per contenere oggetti in Java
Poiché Map
è un’interfaccia, possiamo usarla per contenere il riferimento delle sue classi di implementazione come HashMap
, TreeMap
, ecc. Possiamo tenere un oggetto TreeMap
o HashMap
nell’interfaccia Map
. Vedi l’esempio sotto.
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
Map<String, Integer> tmap = new TreeMap<>(map);
System.out.println(tmap);
}
}
Produzione:
{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
Usa un riferimento Map
per contenere oggetti in Java
È un esempio importante dell’utilizzo del riferimento Map
mentre si lavora con le sue classi di implementazione. Vedi, abbiamo un metodo che accetta un oggetto Map
come argomento. Quindi, al momento della chiamata, possiamo passare l’oggetto di qualsiasi classe come HashMap
o HashTable
. Vedi l’esempio sotto.
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
static void printMap(Map<String, Integer> map) {
for (String key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
public static void main(String[] args) {
HashMap<String, Integer> hashmap = new HashMap<>();
hashmap.put("One", 1);
hashmap.put("Two", 2);
hashmap.put("Three", 3);
printMap(hashmap);
TreeMap<String, Integer> tmap = new TreeMap<>(hashmap);
printMap(tmap);
LinkedHashMap<String, Integer> lmap = new LinkedHashMap<>(hashmap);
printMap(lmap);
}
}
Esegui il codice come di seguito.
Java SimpleTesting 10 20
Produzione:
10
20
Articolo correlato - Java Map
- Converti JSON in Map in Java
- Ordina una mappa per valore in Java
- Ottieni chiave da valore in Java Hashmap
- Ripeti su ogni elemento della mappa in Java