Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Seyro97 en 5 Abril 2015, 01:07 am



Título: (Ayuda) Plantillas en java
Publicado por: Seyro97 en 5 Abril 2015, 01:07 am
Hola, ¡muy buenas a todos y a todas!

Aprendiendo por ahí como usar cierta librería, me he encontrado con una estructura que sabía que existía de C++, pero nunca he llegado a saber para que sirve.

Estrucutra:

Código
  1. private Map<String, Integer> locationCache = new HashMap<String, Integer>();

Entonces, ¿alguien me la podría explicar? Gracias


Título: Re: (Ayuda) Plantillas en java
Publicado por: Usuario Invitado en 5 Abril 2015, 09:05 am
No se llama plantilla. Map es un objeto que almacena valores en pares Key - Value, o Llave - Valor. El primer parámetro genérico es el tipo de objeto que será la Llave, y el segundo parámetro genérico es el tipo de objeto que guardará, es decir el valor.

La interface Map, está definida como:

Código
  1. Map<K,V>

K significa Key y V, value. Los valores para K y V son asignados en tiempo de ejecución. A ésto se le llama Generics. K y V pueden tomar cualquier valor (siempre y cuando sean objetos, no primitivos), lo que nos da mucha flexibilidad y seguridad, ya que, una vez declarados los tipos de objetos Key y Value, dicho Map solo dejará guardar valores que correspondan a esos tipos. Si tratas de colocarle otro tipo de dato, ni siquiera te dejará compilar. Ésto, nos ahorra muchos problemas que tendríamos en tiempo de ejecución.


Un saludo.

PD: El "ayuda" está de más. Se supone que eso se intuye cuando se lee el tema.


Título: Re: (Ayuda) Plantillas en java
Publicado por: Seyro97 en 5 Abril 2015, 15:59 pm
Vaya, entonces, ¿para que serviría la clase map (es que no he entendido bien eso de las llaves y valores)? Se que está en la documentación, pero si uno lo explica directamente, el otro lo entenderá mejor :D


Título: Re: (Ayuda) Plantillas en java
Publicado por: Oblivi0n en 5 Abril 2015, 16:36 pm
Un mapa asocia una clave (Key, generalmente el primer parametro ) a un valor ( Value, el segundo parametro por lo general )

Es decir, podríamos hacer

Map<String, String> mapa = new HashMap<String, String>();

mapa.put("Pepe","Guapo");
mapa.put("Jose","Tonto"),

Entonces al hacer mapa.get("Pepe") obtendrías "Guapo"



Título: Re: (Ayuda) Plantillas en java
Publicado por: Seyro97 en 5 Abril 2015, 17:09 pm
¡Vaya! Muchas gracias por su rápida y clara respuesta :D