Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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 (java) [Seleccionar]
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 (java) [Seleccionar]
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