21 septiembre 2012

HashMap: Recorrer y recorrer


Siempre me pasa, que cuando paso mucho tiempo sin recorrer un HashMap, tengo que recurrir a Google para ver una manera más o menos eficiente de hacerlo. Esto es debido a que el foreach, no lo tengo muy instaurado en mi manera de programar, y mira que me gusta, pero no hay manera de que se me quede.



Así que os propongo una manera de recorrer un HashMap de la forma más eficiente que he encontrado, que es separando qué quieres obtener, sólo las claves, sólo los valores, o ambos.

20 septiembre 2012

Escribir y leer objetos de memoria en vez de texto

Para poder escribir objetos serializables en memoria, lo primero de todo, si no queremos que nos dé una NotSerializableException hemos de definir nuestros objetos propios implementando el interfaz implements Serializable. Con esto,  deberíamos de ser capaces de poder guardar cualquier tipo de objeto propio en fichero.

Puede ocurrir, que estemos en un proyecto gigantesco, y heredemos tipos de objetos de los cuales no tengamos ningún control  y no podamos definirlos como serializables.

Para evitar problemas, lo ideal sería que no incluyéramos ese objeto en el nuestro como un atributo, pero si nos es imposible, o sencillamente es muy útil u óptimo almacenar ese objeto en el nuestro para su uso interno, podemos evitar que se incluya en el objeto que se va a guardar en fichero marcándolo como transient. Claro está, que cuando vayamos a recuperar este objeto, ese atributo no estará disponible y será null si lo miramos con un debugger.

Tras esta breve introducción, paso a poner un ejemplito del uso de todo esto.