Java - Interfaz Map
Concepto
-
Interface Map
-
Interfaz genérica que se utiliza para almacenar
pares clave-valor
-
Una
implementación
deMap
le permitealmacenar datos
de forma eficiente y recuperarlos mediante unaclave
-
Define
métodos
parainsertar
,eliminar
yacceder
a los datos almacenados en ella -
Métodos
para obtener información sobre el tamaño y contenido de laMap
-
Métodos
más comunes deMap
son los siguientes:-
put(key, value)
-
Inserta un nuevo par
clave-valor
en laMap
-
Si la
clave
ya existe, sesobrescribe
el valor anterior.
-
-
get(key)
-
Devuelve el valor asociado a una
clave específica
-
Si la
clave
no existe, se devuelvenull
-
-
remove(key)
-
Elimina el par
clave-valor
asociado a unaclave específica
-
Si la
clave
no existe, no se realiza ninguna acción
-
-
size()
- Devuelve el número de pares
clave-valor
almacenados en laMap
- Devuelve el número de pares
-
isEmpty()
- Devuelve
true
si laMap
está vacía o false en caso contrario
- Devuelve
-
-
Definido por un
conjuntos
declaves
-
Colección de valores
-
Colección de valores
-
Conjunto de pares
clave-valor
llamadasentradas
-
-
-
Las
claves
no puede haberelementos duplicados
( una clave no puede estar asociada con más valores) , las claves forman un conjunto(Set)
-
Si permiten valores
duplicados
-
No extiende a
Collections
ni aIterable
- No se puede aplicar un
for extendido
sobre sus elementos salvo que accedamos explícitamente a ellos
- No se puede aplicar un
-
El tamaño de la
Interface Map
se adapta dinámicamente al número de objetos que se le vayan añadiendo -
Diccionarios
opropiedades
para almacenar en memoriatablas
de bases de datos ,memoria cache
Implementaciones de la Interface Map
-
La clase
HashMap
yTreeMap
implementan lainterface Map
Clase HashMap
obliga a definirmetodos hashCode
del tipo claves para evitar comportamientos incorrectos como claves repetidas
-
Al igual que la
Interface Set
losobjetos mutables
que se introducen en unMap
son vistas o referencias a objetos por lo tanto si estos cambian elMap
podría dejar de ser coherente lo que significa que podría tenerclaves repetidas
// Clave (Key) Clase que implementa la interface
// ↓ Valor (Value) ↓
// ↓ ↓ ↓
Map<String , Integer> m = new HashMap<String , Integer>();
Ejemplo
import java.util.Map;
import java.util.HashMap;
public class MapEjemplo {
public static void main(String[] args) {
// Crear una instancia de HashMap
Map<String, Integer> edades = new HashMap<>();
// Agregar pares clave-valor a la Map
edades.put("Juan", 25);
edades.put("Ana", 33);
edades.put("Pedro", 40);
// Obtener el valor asociado a una clave
System.out.println(edades.get("Juan")); // Imprime 25
// Eliminar un par clave-valor
edades.remove("Ana");
// Verificar si la Map está vacía
System.out.println(edades.isEmpty()); // Imprime false
// Obtener el tamaño de la Map
System.out.println(edades.size()); // Imprime 2
}
}
-
En este ejemplo se
crea
unainstancia
deHashMap
quealmacena pares
detipo <String,Integer>
- Significa que la
clave
es detipo String
y elvalor
es detipo Integer
- Significa que la
-
Luego se agregan pares
clave-valor
a laMap
- Se obtiene el
valor asociado
a unaclave específica
- Se obtiene el
Ejemplo de Uso de Map
- Listin telefónico
- ( clave : nombre del contacto - valor : número de teléfono )
- Lista de notas de una clase
- ( clave : nombre del alumno - valor : calificaciones )
Deja un comentario