Java - Interfaz Map
Concepto
-
Interface Map -
Interfaz genérica que se utiliza para almacenar
pares clave-valor -
Una
implementacióndeMaple permitealmacenar datosde forma eficiente y recuperarlos mediante unaclave -
Define
métodosparainsertar,eliminaryaccedera los datos almacenados en ella -
Métodospara obtener información sobre el tamaño y contenido de laMap -
Métodosmás comunes deMapson los siguientes:-
put(key, value)-
Inserta un nuevo par
clave-valoren laMap -
Si la
claveya existe, sesobrescribeel valor anterior.
-
-
get(key)-
Devuelve el valor asociado a una
clave específica -
Si la
claveno existe, se devuelvenull
-
-
remove(key)-
Elimina el par
clave-valorasociado a unaclave específica -
Si la
claveno existe, no se realiza ninguna acción
-
-
size()- Devuelve el número de pares
clave-valoralmacenados en laMap
- Devuelve el número de pares
-
isEmpty()- Devuelve
truesi laMapestá vacía o false en caso contrario
- Devuelve
-
-
Definido por un
conjuntosdeclaves-
Colección de valores
-
Colección de valores -
Conjunto de pares
clave-valorllamadasentradas
-
-
-
Las
clavesno 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
Collectionsni aIterable- No se puede aplicar un
for extendidosobre sus elementos salvo que accedamos explícitamente a ellos
- No se puede aplicar un
-
El tamaño de la
Interface Mapse adapta dinámicamente al número de objetos que se le vayan añadiendo -
Diccionariosopropiedadespara almacenar en memoriatablasde bases de datos ,memoria cache
Implementaciones de la Interface Map
-
La clase
HashMapyTreeMapimplementan lainterface MapClase HashMapobliga a definirmetodos hashCodedel tipo claves para evitar comportamientos incorrectos como claves repetidas
-
Al igual que la
Interface Setlosobjetos mutablesque se introducen en unMapson vistas o referencias a objetos por lo tanto si estos cambian elMappodrí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
creaunainstanciadeHashMapquealmacena paresdetipo <String,Integer>- Significa que la
clavees detipo Stringy elvalores detipo Integer
- Significa que la
-
Luego se agregan pares
clave-valora laMap- Se obtiene el
valor asociadoa 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