Diferencia entre hashmap y map en Java
-
La interfaz
Map
en Java -
La clase
HashMap
en Java -
Utilice una referencia de
Map
para contener objetos en Java -
Utilice una referencia de
Map
para contener objetos en Java
Este tutorial presenta las principales diferencias entre Map
y HashMap
en Java.
En Java, Map
es una interfaz utilizada para almacenar datos en un par clave-valor, mientras que HashMap
es la clase de implementación de la interfaz Map
. Java tiene varias clases (TreeHashMap
, LinkedHashMap
) que implementan la interfaz Map
para almacenar datos en un par clave-valor. Veamos algunos ejemplos.
La interfaz Map
en Java
La interfaz Map
por sí sola no se puede utilizar para almacenar datos, pero podemos crear un objeto de sus clases de implementación y luego usar la referencia Map
para contener el objeto. Aquí, usamos la clase HashMap
para almacenar datos y la interfaz Map
para contener la referencia de esta clase. Vea el ejemplo a continuación.
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);
}
}
Producción :
{One=1, Two=2, Three=3}
La clase HashMap
en Java
HashMap
es una clase de implementación de la interfaz Map
. Entonces, podemos usarlo para crear una colección de pares clave-valor. Vea el ejemplo a continuación.
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);
}
}
Producción :
{One=1, Two=2, Three=3}
Utilice una referencia de Map
para contener objetos en Java
Dado que Map
es una interfaz, podemos usarlo para contener la referencia de sus clases de implementación como HashMap
, TreeMap
, etc. Podemos guardar un objeto TreeMap
o HashMap
en la interfaz de Map
. Vea el ejemplo a continuación.
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);
}
}
Producción :
{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
Utilice una referencia de Map
para contener objetos en Java
Es un ejemplo importante del uso de la referencia Map
mientras se trabaja con sus clases de implementación. Mira, tenemos un método que toma un objeto Map
como argumento. Entonces, en el momento de la llamada, podemos pasar el objeto de cualquier clase como HashMap
o HashTable
. Vea el ejemplo a continuación.
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);
}
}
Ejecute el código como se muestra a continuación.
Java SimpleTesting 10 20
Producción :
10
20
Artículo relacionado - Java Map
- Mapa de incremento en Java
- Convertir valores de mapa en una lista en Java
- Filtrado de map en Java
- Convertir lista a map en Java
- Crear un map ordenado en Java
- Crear un map en Java