Es momento de trabajar con el tipo de dato Mapp.
Recuerden siempre Todo programa tiene su función main Mossa definir de una vez y nos estamos acostumbrando
siempre a escribirla.
No quiero decir que cuando estemos en Flores vamos a tener que escribir el mail nosotros pero siempre
es bueno y recomendado saber que por aquí es donde nuestra aplicación va a empezar a ejecutarse.
Entonces UMAP se define de la siguiente manera Ya les voy a explicar exactamente qué es.
Empezamos con la palabra reservada Mapp aunque también recuerden que podríamos decirle a dark que lo
infiero.
Pero ya vamos a llegar a esa persona.
Esto va a ser igual a un objeto de esta manera en dar como en muchos otros lenguajes todos sus objetos
y esto estos mapas son pares de valores el primer valor es la llave y el segundo es el valor.
En este caso voy a poner aquí el nombre de esta persona va a ser bueno va a ser Carlos Koma luego voy
a tener la edad dos puntos y va a ser de 32 años.
Y por último voy a definirle si está soltero voy a poner que recuerdan que como en otros lenguajes de
programación nosotros podemos ordenarla y tentacion de esta manera y Darth ignoraría los espacios en
blanco.
Entonces de esta manera estamos definiendo mi persona que es de tipo Mapp quiero que noten que aquí
hay una sintaxis un poco extraña dice que Mapp es una clase abstracta que recibe dos valores acá en
este caso como tenemos un valor string como para indicar la llave y también tenemos un valor aquí esgrime
para indicar el valor.
Pero aquí tenemos un número entero y aquí tenemos un número bueno un valor booleano.
Cómo podríamos definir que este tipo de persona va a ser de tipo string y de tipo dinámico.
De hecho quizá aquí le está diciendo Daguet o mejor dicho Dark Path que el objeto persona tiene Dinamic
y Dinamic.
Esto quiere decir que puede tener cualquier valor al inicio como llave y puede tener cualquier valor
como obviamente su valor.
Aquí yo lo puedo definir de la siguiente manera Puedo decirle que va a ser de tipo string con la S mayúscula
Koma y aquí serie de tipo dinámico como para decir que es cualquier tipo que pueda aceptar cualquier
tipo de dato.
Si ahora lo selecciono nuevamente aquí me dice que ahora este mapa de persona tiene como llaves strings
y dinámico porque puede ser cualquier valor.
Esto es una forma muy tradicional que lo usaremos bastante especialmente cuando hagamos peticiones a
servicios HTTP porque tendríamos que recibir la información de una manera parecida a ésta.
Pero bueno puede ser un poco más compleja recuerden que podría ser también un mapa que tenga como valor
un string y también podría tener otro mapa o una lista así que eso no se preocupen ya lo vamos a ver
en su momento.
Si yo quiero imprimir el nombre que está almacenado acá como lo hago imprimir con el print y voy a hacer
referencia a la persona y a diferencia de otros lenguajes yo no puedo poner un punto nombre porque eso
no funciona así porque de esta manera estaríamos haciendo referencia a alguna propiedad pero propia
de El MAP como por ejemplo si contiene ciertas llaves y se remueve y se limpia los valores.
No estamos llamando directamente esta propiedad de esa manera.
Entonces lo vamos a hacer aquí entre llaves cuadradas y como esto es un tren lo tengo que poner entre
comillas sencillas o comillas dobles la misma manera que aquí puedo escribir el nombre hasta un punto
y coma y ejecuto el programa.
Aquí debería de tener el nombre de Carlos Perfecto ahora si yo quisiera Ladakh como Lago no sería lo
mismo solo que aquí tendría que poner la edad.
La ventaja de esto es que si ustedes estuvieran todos objeto dinámico si tienen una variable que se
llame o que contenga nombre ustedes la pueden imprimir.
Voy a quedarme una variable llamada propiedad que va a ser igual a soltero.
Ok entonces ahora yo puedo hacer una tercera impresión pero en vez de mandarlo como un string puedo
mandar esta variable llamada propiedad la puedo mandar acá lo voy a ejecutar y deberíamos de tener acá
el truc porque Carlos está soltero.
Ahí está.
Ups.
Ahí está como les dije originalmente no necesariamente tiene que ser swing el inicio puede ser cualquier
cosa inclusive números.
Por ejemplo voy a un nuevo Mapp llamado personas.
Esto va a ser igual un objeto cuyo par de valor va a ser un 1 como llave.
El nombre va a ser Tony Koma luego voy a poner un 2 2 puntos Piter no necesariamente necesita que sean
consecutivos que puedo poner un 10 por ejemplo quieren un 9 para manejar meditación bonita y di este
9 va a ser strengths puntico.
Si yo dejo el mouse encima de personas va a decir que de tipo Dinamic y Dinamic porque no sabe por qué
no le he dicho yo de qué tipo de información en la que va a manejar este mapa.
Puede ser cualquier cosa pero si yo lo quiero manejar o decirle explícitamente para que me valide a
mí que yo tengo que insertar los valores exactamente como lo necesita estas personas o este Mapp de
personas.
Entonces diría que va a ser un mapa que su primer argumento o su llave es entero y el segundo va a ser
de tipo string y ahí sí cumple toda la condición.
Esto me va a impedir a mí poder hacer algo como el valor 10 o el valor 10 aquí va a ser de Juan por
ejemplo.
Eso no es válido y ahí me está marcando el error y me dice que el elemento estrella no puede ser asignado
a la llave del mapa int perfecto normalmente como les digo.
Es importante que nosotros siempre manejemos el tipado de datos para evitar estos problemas.
Si yo quisiera agregar por ejemplo un nuevo elemento a este mapa como lo hago hay varias formas de hacerlo
y podríamos hacer referencia a esto.
Si yo quiero agregar una nueva persona entonces sería el siguiente comando personas punto o paréntesis
o paréntesis.
Vamos a ver si puedo mostrarles la ayuda o aquí está y como detecta que personas es de tipo string eso
es lo que está esperando que yo le envíe está esperando un Hint y está esperando que yo envíe un extraño
también.
Entonces parentesis voy a definirme el objeto y aquí sería el objeto con el Heydi 4 y el nombre va a
ser banear a quien falta un punto y coma y esto debería ser válido y primamos todo ese mapa print.
Entre paréntesis voy a mandar las personas punto y coma y deberíamos de ver Vagner como cuarto elemento
en esa lista.
Aquí está el uno Tony dos Piter el nuevo Vestrynge y el 4 Bane.
Si yo necesito obtener el valor de Piter por ejemplo que sería el segundo elemento en este mapa cómo
lo hago.
Bueno pues tendríamos que hacer algo muy parecido a eso pero no puedo poner un punto 2.
Ustedes saben entonces lo voy a poner entre llaves y como es un entero mi llave o mi llave del mapa.
Entonces simplemente sería un 2.
Y por qué no un 1 me van a decir porque recuerden que esto no es una lista estoy apuntando directamente
a este valor.
Los mapas también en muchos lugares son conocidos como diccionarios de datos y se dice diccionario porque
si ustedes se mentaliza en un diccionario común y corriente tienen la palabra.
En este caso sería la llave y toda la descripción del término es el valor que apunta a esa llave.
Por eso también son conocidos como diccionarios porque también lo son ejecutamos el programa y deberíamos
de tener también en la consola el nombre de Piter.
Ahí está.
Más adelante todavía hay un ejercicio que quiero trabajar con la parte de los mapas que es para extraer
una supuesta respuesta HTTP y convertirlo a un objeto pero eso ya lo vamos a hacer un objeto de una
clase.
Eso lo veremos próximamente así que los veo en el siguiente vídeo.