Implementaciones y uso de Map en Java
Clase 21 de 40 • Curso Avanzado de Java SE
Contenido del curso
Clases avanzadas
JavaDocs
Clases Anidadas
- 11

Clases Anidadas en Java: Conceptos y Aplicaciones Prácticas
17:27 min - 12

Clase Song como clase interna en Album en Java
00:16 min - 13

Implementación de Clases Anidadas en Java: Ejemplo Práctico con Page y Book
05:57 min - 14

Simulación de Lectura con Clases Anidadas en Java
14:59 min - 15

Uso de Enumerations en Programación
00:24 min
Interfaces Avanzadas
- 16

Interfaces Avanzadas en Java: Métodos Default y Private
10:14 min - 17

Creación de Interfaces DAO en Java para Gestión de Bases de Datos
08:00 min - 18

Encapsulación y Abstracción en Diseño de APIs
00:27 min - 19

Diferencias entre Clases Abstractas e Interfaces en Programación
03:35 min - 20

Herencia y métodos en interfaces de Java 8 y 9
00:24 min
Colecciones Avanzadas
Excepciones
JDBC
- 24

Conexión a Bases de Datos con JDBC en Java
07:19 min - 25

Uso de PreparedStatement para consultas con filtros en JDBC
00:20 min - 26

Configuración de phpMyAdmin y XAMPP para Bases de Datos
01:05 min - 27

Conexión a MySQL usando Java JDBC: Configuración y Prácticas
14:17 min - 28

Conexión y Lectura de Datos con JDBC en Java
15:41 min - 29

Persistencia de Datos en Aplicaciones de Películas
13:37 min - 30

Inserción y Visualización de Películas Vistas en Base de Datos SQL
13:37 min - 31

Generación de Reportes Diarios con Fechas en Java
02:44 min
Lambdas
- 32

Modificación de tablas y manejo de fechas en MySQL
03:00 min - 33

Interfaces Funcionales en Java: Conceptos y Ejemplos Prácticos
05:25 min - 34

Programación Funcional: Paradigmas y Lambdas en Java
07:28 min - 35

Lambdas en Java: Sintaxis y Aplicaciones Prácticas
13:31 min - 36

Elementos clickeables en interfaz gráfica
00:13 min - 37

Declaración de Lambdas y Recursividad en Java
15:08 min - 38

Streams y Filters en Java para Optimizar Colecciones
12:09 min - 39

Uso de Lambdas y Predicados en Streams Java
10:02 min
Fin del Curso
En el Curso Básico de Java vimos esta estructura de Colecciones interfaces
Te las expliqué todas menos la interfaz Map la cual te la dejé como reto . Existe otra que no aparece en ese árbol se llama Deque
Hoy te platicaré sobre Map
Lo primero que debes saber es que tiene tres implementaciones:
- HashTable
- LinkedHashMap
- HashMap
- SortedMap ➡️ TreeMap
La interfaz Map no hereda de la interfaz Collection porque representa una estructura de datos de Mapeo y no de colección simple de objetos. Esta estructura es más compleja, pues cada elemento deberá venir en pareja con otro dato que funcionará como la llave del elemento.
Map<K,V>
- Donde K es el key o clave
- Donde V es el value o valor
Podemos declarar un map de la siguiente forma:
Map<Integer, String> map = new HashMap<Integer, String>(); Map<Integer, String> treeMap = new TreeMap<Integer, String>(); Map<Integer, String> linkedHashMap = new LinkedHashMap<Integer, String>();
Como observas solo se puede construir el objeto con tres elementos que implementan de ella: HashMap, TreeMap y LinkedHashMap dejando fuera HashTable y SortedMap. SortedMap estará fuera pues es una interfaz y HashTable ha quedado deprecada pues tiene métodos redundantes en otras clases. Mira la funcionalidad de cada uno.
Como te conté hace un momento Map tiene implementaciones:
- HashMap: Los elementos no se ordenan. No aceptan claves duplicadas ni valores nulos.
- LinkedHashMap Ordena los elementos conforme se van insertando; provocando que las búsquedas sean más lentas que las demás clases.
- TreeMap El Mapa lo ordena de forma “natural”. Por ejemplo, si la clave son valores enteros (como luego veremos), los ordena de menos a mayor.
Para iterar alguno de estos será necesario utilizar la interface Iterator y para recorrerlo lo haremos un bucle while así como se muestra:
Para HashMap
// Imprimimos el Map con un Iterador Iterator it = map.keySet().iterator(); while(it.hasNext()){ Integer key = it.next(); System.out.println("Clave: " + key + " -> Valor: " + map.get(key)); }
Para LinkedHashMap
// Imprimimos el Map con un Iterador Iterator it = linkedHashMap.keySet().iterator(); while(it.hasNext()){ Integer key = it.next(); System.out.println("Clave: " + key + " -> Valor: " + linkedHashMap.get(key)); }
Para TreeMap
// Imprimimos el Map con un Iterador Iterator it = treeMap.keySet().iterator(); while(it.hasNext()){ Integer key = it.next(); System.out.println("Clave: " + key + " -> Valor: " + treeMap.get(key)); }
Ahora lee esta lectura y en la sección de tutoriales cuentanos en tus palabras cómo funciona Deque.