12

Los mapas, son una estructura de pares de atributo clave-valor, son muy útiles para el uso de información estructurada, y vamos a ver un par de ejemplos sencillos, y uno un poco más complejo, donde podemos observar su funcionalidad y sus grandes ventajas.

Lo primero entender como funcionan, es decir, como se recuperan datos de un mapa y como se almacenan datos en un mapa.

 

declarar:

Map<String, Objeto> mapa;

inicializar:

map = new TreeMap<String, Objeto>();

introducir datos:

mapa.put(“clave”,objeto);

Sacar datos:

mapa.get(clave);

 

Después ver como pueden sernos útiles como memoria cache de una base de datos, que podría ser un uso de los mapas.

Aquí, sería tan sencillo como almacenar todos los datos de una consulta SQL, recorriendo el ResultSet, algo parecido a esto:

 

While(rs.next){

//Crear objeto de la consulta.

Objeto x = new Objeto(rs.getString(1), rs.getInt(2), rs.getString(3));

//Introducirlo en el mapa

mapa.put(x.id, x);

}

 

Así tendríamos almacenado todos los datos de la tabla que hubiéramos consultado en el mapa, y para dárselos a un cliente o interfaz, podríamos usar el mapa, en vez de consultas a la base de datos, lo que es más rápido que entrar a la base de datos para cada cosa que se necesite.

Y por último estructuras complejas, como mapas de listas o mapas de mapas, esto va en honor a Ingeniería del Software.

 

Declarar:

Map<String, Map<String, Objeto>> DobleMapa;

Inicializar:

DobleMapa = new TreMap<String, Map<String, Objeto>>();

 

Para meter datos en un objeto de este tipo, hace falta pensar que necesitas introducir un mapa, en cada clave del mapa, lo que parece recursivo, pero no lo es, ejemplo teniendo en cuanta el mapa del anterior punto:

 

//el mapa introducido es el mapa sencillo de antes que tenia los datos de la base de datos.

DobleMapa.put(“Clave”, mapa);

 

De esta manera, tendríamos tantos mapas con información, como tablas hubiéramos consultado con objetos del tipo que hayamos seleccionado, y los tendríamos estructurados con claves diferentes para cada una de las tablas en las que están almacenados los datos.