Diferencia entre hashmap y map en Java
-
La interfaz
Mapen Java -
La clase
HashMapen Java -
Utilice una referencia de
Mappara contener objetos en Java -
Utilice una referencia de
Mappara 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