Por Sebastián Quiroga Alfaro – Estudiante de la Escuela de Ingeniería Informática

¿Existe una manera sencilla de guardar pares de datos? La respuesta es sí: implementando en nuestro código la estructura map. Oracle (s.f.) describe el uso de maps como “Map<K, V>. An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value” (p.1). Esto quiere decir que los maps tienen la característica particular de asignarle un valor único a un dato que se desea retener. La K representa la “llave”, que es el valor asignado solamente para el dato “V” que la acompaña, y ningún otro. De esta manera, tienen la habilidad de ordenar los datos de diferentes maneras. Si se ve la figura 1, se puede ver un ejemplo de manera más clara.

Esta figura muestra primero cómo se crea un HashMap. Si se fija en la cita de Oracle, el primer valor va a ser la “llave” y el segundo el dato. En este caso, la llave definida para el dato va a ser un integer, y el dato que lo acompaña va a ser un string. Luego se define el map como un HashMap, y esto le da la característica de que los datos se devuelven de manera aleatoria. Este ejemplo define tres productos y sus códigos en un inventario. Estos datos se definieron en el ejemplo debajo de la creación del HashMap, primero llamando el Map y luego usando “. put” para ingresar la llave y el valor. Si se imprimiera este ejemplo, los bombillos en el inventario se imprimirían de manera aleatoria, pero, en este caso, eso no importa, ya que es un inventario pequeño.

Si se tuviera, por ejemplo, un control de carros pasando por un peaje, el elemento aleatorio ya no sería muy favorable. En este caso, se podría optan por un LinkedHashMap. Este tipo de map retorna los datos en la misma manera que se introdujo. De esta manera, se podría tener la placa del carro como la llave y no afectaría el orden en que pasaron por el peaje.

Existe un tipo final de map, conocido como un TreeMap, que imprime los datos en el orden lógico de las llaves. Este se podría usar, por ejemplo, para ordenar los ingresos anuales de una empresa. La llave podría ser el año y, como es acompañado por las ganancias de ese año, es más fácil visualizar si han disminuido o aumentado entre un año y otro.

Los maps tienen varios métodos integrados que facilitan su uso. Entre los más útiles se encuentran los siguientes:
• “. size ()”, que retorna la cantidad de elementos pares que se encuentran actualmente en el map,
• “. get (K)” / “. get (V)”, que retorna el dato del par de la llave o el del valor que se introdujo entre el paréntesis del get,
• “. clear ()”, que elimina todos los elementos pares actualmente presentes en el map.

En cualquier proyecto que se esté trabajando, puede ser favorable considerar cuáles estructuras pueden mejorar el orden y la eficiencia del proyecto. El uso de maps no solo es fácil, sino que tiene diferentes propiedades y variables que pueden darle un valor agregado a el código.

 

MOXIE es el Canal de ULACIT (www.ulacit.ac.cr), producido por y para los estudiantes universitarios, en alianza con el medio periodístico independiente Delfino.cr, con el propósito de brindarles un espacio para generar y difundir sus ideas.  Se llama Moxie - que en inglés urbano significa tener la capacidad de enfrentar las dificultades con inteligencia, audacia y valentía - en honor a nuestros alumnos, cuyo “moxie” los caracteriza.

Referencias bibliográficas:
• Oracle. (s.f.). Interface Map <K,V>. Recuperado de https://docs.oracle.com/javase/8/docs/api/java/util/Map.html