Programación de mapas en Java


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 ocmplejo, 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 ne 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 detos, que podría ser un uso de los mapas.

Aqui, sería tan sencillo como alamcenar 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í tendriamos almacenado todos los datos de la tabla que hubieramos consultado en el mapa, y para darselos 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 entar 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, tendriamos tantos mapas con información, como tablas hubieramos consultado con objetos del tipo que hayamos selecconado, y los tendriamos estructurados con claves diferentes para cada una de las tablas en las que están almacenados los datos.

Para otro post, mezclar, mapas, y bases de datos con Hibernate, para tener objetos java, que se consultan directamente ala base de daots y además estan almacenados en Mapas. Suena muy friki, pero a ver como queda.

About these ads

4 pensamientos en “Programación de mapas en Java

  1. Aupa ahí. Pululando por internet he aparecido en tu blog… y tengo que felicitarte tío. Está genial. Bueno, estoy empezando a bucear en él, pero estoy encontrando bastantes cosas interesantes.

    Un abrazo Iñigo!!

    Mikel

    • Ya me alegro de que te haya gustado :), que facil de reconocer me ha quedado el Blog, jeje, nada pues cuando lo veas un poco más si te apetece comentar no dudes, o corregir, jeje, que seguro que algun error puede haber por ahi.

      Cuanto tiempo por cierto, lo que puede unir Internet, jeje.

      Un abrazo Mikel!!!

  2. Claro, andaré al loro a partir de ahora. Realmente no es tan fácil. Ha sido necesario unir “icrovett” a que recordaba el nombre de tu equipo de hattrick de cuando jugaba.

Comparte tu opinión

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s