1
00:00:01,400 --> 00:00:04,463
Así que sigamos aprendiendo sobre mapas.

2
00:00:06,250 --> 00:00:09,660
Así que en el último video creamos un mapa vacío

3
00:00:09,660 --> 00:00:10,900
y luego editar elementos

4
00:00:10,900 --> 00:00:13,670
usando el método set.

5
00:00:13,670 --> 00:00:15,610
Recuerde, sin embargo,

6
00:00:15,610 --> 00:00:19,640
en realidad hay otra forma de poblar un nuevo mapa

7
00:00:19,640 --> 00:00:22,560
sin tener que usar el método set.

8
00:00:22,560 --> 00:00:25,760
Y prefiero eso porque el método set

9
00:00:25,760 --> 00:00:28,570
es un poco engorroso cuando hay muchos

10
00:00:28,570 --> 00:00:30,180
de valores a configurar.

11
00:00:30,180 --> 00:00:33,493
Entonces, en su lugar, podemos crear un nuevo mapa como este.

12
00:00:34,930 --> 00:00:37,320
Así que voy a llamar a esta una pregunta,

13
00:00:37,320 --> 00:00:39,430
porque ahora estamos implementando

14
00:00:39,430 --> 00:00:41,550
algo así como un cuestionario.

15
00:00:41,550 --> 00:00:43,143
Entonces, de una manera muy simple,

16
00:00:45,000 --> 00:00:46,470
así que un nuevo mapa,

17
00:00:46,470 --> 00:00:49,740
y luego aquí podemos pasar en una matriz

18
00:00:49,740 --> 00:00:52,960
y disarray en sí mismo contendrá múltiples matrices.

19
00:00:52,960 --> 00:00:54,660
Y en cada una de estas matrices,

20
00:00:54,660 --> 00:00:57,060
la primera posición va a ser la clave.

21
00:00:57,060 --> 00:01:00,740
Y la segunda posición será el valor.

22
00:01:00,740 --> 00:01:02,033
Así que hagamos eso.

23
00:01:03,400 --> 00:01:04,340
entonces digamos

24
00:01:05,360 --> 00:01:07,080
pregunta,

25
00:01:07,080 --> 00:01:12,080
y entonces cual es el mejor lenguaje de programacion

26
00:01:13,600 --> 00:01:16,033
¿en el mundo?

27
00:01:17,970 --> 00:01:20,870
Así que esta es básicamente la primera entrada de

28
00:01:20,870 --> 00:01:22,073
este mapa de preguntas.

29
00:01:23,090 --> 00:01:26,140
Así que antes habríamos usado el método set

30
00:01:26,140 --> 00:01:28,780
y luego esto como primer argumento

31
00:01:28,780 --> 00:01:30,510
y este como el segundo,

32
00:01:30,510 --> 00:01:32,980
pero ahora podemos simplemente especificar un desorden

33
00:01:32,980 --> 00:01:33,813
de arreglos

34
00:01:34,940 --> 00:01:36,070
en esto.

35
00:01:36,070 --> 00:01:37,200
esperar

36
00:01:37,200 --> 00:01:38,280
Ahora, a continuación,

37
00:01:38,280 --> 00:01:40,720
Quiero especificar las opciones

38
00:01:40,720 --> 00:01:42,470
para la respuesta básicamente.

39
00:01:42,470 --> 00:01:45,313
Y así puedo simplemente hacer eso por su número.

40
00:01:46,370 --> 00:01:48,440
Así que la primera respuesta va a ser C

41
00:01:49,610 --> 00:01:52,230
entonces C el lenguaje de programación.

42
00:01:52,230 --> 00:01:53,963
El segundo, será Java.

43
00:01:57,750 --> 00:02:02,750
Y el tercero será, por supuesto, ¿qué más? secuencia de comandos Java,

44
00:02:08,420 --> 00:02:12,690
entonces necesitamos una clave para la respuesta correcta.

45
00:02:12,690 --> 00:02:15,430
¿Y cuál crees que es la respuesta correcta?

46
00:02:15,430 --> 00:02:17,083
por supuesto, el número tres.

47
00:02:18,150 --> 00:02:21,040
Y luego también podemos tener como un mensaje de éxito

48
00:02:21,040 --> 00:02:22,990
y un mensaje de error.

49
00:02:22,990 --> 00:02:23,900
Y así que volvamos a,

50
00:02:23,900 --> 00:02:27,970
use las teclas booleanas, tan cierto,

51
00:02:27,970 --> 00:02:30,993
que es básicamente cuando el usuario tiene razón,

52
00:02:32,010 --> 00:02:33,733
entonces podemos decir correcto.

53
00:02:34,750 --> 00:02:37,060
Y tal vez algún tipo de emoji aquí,

54
00:02:37,060 --> 00:02:38,133
como éste,

55
00:02:40,310 --> 00:02:41,930
pero si esta mal.

56
00:02:41,930 --> 00:02:44,310
Entonces, si la respuesta es falsa,

57
00:02:44,310 --> 00:02:45,483
vuelva a intentarlo.

58
00:02:46,810 --> 00:02:47,673
Está bien.

59
00:02:48,940 --> 00:02:50,140
Y entonces echemos un vistazo

60
00:02:54,780 --> 00:02:57,110
y eso parece correcto.

61
00:02:57,110 --> 00:02:58,620
Fantástico.

62
00:02:58,620 --> 00:03:02,420
Entonces, al crear un nuevo mapa desde cero,

63
00:03:02,420 --> 00:03:03,830
directamente en el código,

64
00:03:03,830 --> 00:03:06,190
en realidad prefiero de esta manera

65
00:03:06,190 --> 00:03:08,340
de escribirlo sobre la forma en que lo hicimos

66
00:03:08,340 --> 00:03:10,430
en una conferencia anterior.

67
00:03:10,430 --> 00:03:12,210
Pero cuando seguimos agregando nuevos elementos,

68
00:03:12,210 --> 00:03:14,760
programáticamente usando código,

69
00:03:14,760 --> 00:03:18,703
entonces, por supuesto, el método set sigue siendo el camino a seguir.

70
00:03:19,670 --> 00:03:21,560
Ahora, como un aparte,

71
00:03:21,560 --> 00:03:24,220
¿Este tipo de estructura aquí?

72
00:03:24,220 --> 00:03:28,540
Entonces, ¿el desorden de las matrices se parece un poco a ti?

73
00:03:28,540 --> 00:03:30,710
Bueno, espero que lo haga

74
00:03:30,710 --> 00:03:33,880
porque esta es exactamente la misma estructura de matriz

75
00:03:33,880 --> 00:03:35,290
que se devuelve

76
00:03:35,290 --> 00:03:39,010
de llamar a entradas de punto de objeto.

77
00:03:39,010 --> 00:03:40,480
Así por ejemplo,

78
00:03:40,480 --> 00:03:42,403
en el objeto de horario de apertura.

79
00:03:44,090 --> 00:03:46,380
Y así ves que son dos,

80
00:03:46,380 --> 00:03:49,073
obtenemos una matriz de matrices donde el primer elemento

81
00:03:49,073 --> 00:03:51,580
es la clave y la segunda

82
00:03:51,580 --> 00:03:53,380
es el valor.

83
00:03:53,380 --> 00:03:56,010
Y entonces, lo que esto significa es que hay

84
00:03:56,010 --> 00:04:00,133
es una manera fácil de convertir de objetos a mapas.

85
00:04:01,070 --> 00:04:02,911
Así que déjame escribir eso aquí,

86
00:04:02,911 --> 00:04:05,823
en realidad convertir objeto a mapa.

87
00:04:07,830 --> 00:04:12,420
Y entonces podemos decir nuestro mapa

88
00:04:12,420 --> 00:04:13,970
es un nuevo mapa

89
00:04:14,950 --> 00:04:16,420
y luego simplemente

90
00:04:16,420 --> 00:04:19,000
con entradas de punto de objeto

91
00:04:20,190 --> 00:04:21,693
de horario de apertura.

92
00:04:22,770 --> 00:04:24,440
Muy bien, de nuevo,

93
00:04:24,440 --> 00:04:28,660
porque esta estructura que resulta de las entradas de puntos de objetos

94
00:04:28,660 --> 00:04:31,680
es exactamente igual a este.

95
00:04:31,680 --> 00:04:33,473
Así que una matriz de matrices.

96
00:04:38,530 --> 00:04:41,880
De hecho, ahora tenemos un mapa aquí

97
00:04:43,680 --> 00:04:46,560
y así que ten presente este pequeño truco aquí,

98
00:04:46,560 --> 00:04:47,980
cada vez que necesite un mapa,

99
00:04:47,980 --> 00:04:49,783
cuando ya tienes un objeto.

100
00:04:50,640 --> 00:04:53,590
A continuación, hablemos de iteración.

101
00:04:53,590 --> 00:04:54,970
y la iteración es posible

102
00:04:54,970 --> 00:04:57,670
en los mapas porque como ya sabemos,

103
00:04:57,670 --> 00:04:59,830
los mapas también son iterables.

104
00:04:59,830 --> 00:05:01,100
Y así el bucle for

105
00:05:01,100 --> 00:05:03,780
también está disponible para ellos.

106
00:05:03,780 --> 00:05:05,940
Entonces, usemos un bucle for en realidad

107
00:05:05,940 --> 00:05:07,930
para imprimir ahora,

108
00:05:07,930 --> 00:05:09,410
solo estas opciones aquí

109
00:05:09,410 --> 00:05:10,730
a la consola

110
00:05:10,730 --> 00:05:13,570
Así que estos tres,

111
00:05:13,570 --> 00:05:14,403
está bien.

112
00:05:16,070 --> 00:05:17,370
Así que como siempre,

113
00:05:17,370 --> 00:05:18,510
me gusta empezar

114
00:05:18,510 --> 00:05:21,413
con primero decir lo que vamos a repetir.

115
00:05:22,580 --> 00:05:24,750
Y ese va a ser el mapa de preguntas.

116
00:05:24,750 --> 00:05:26,690
Y así cada elemento

117
00:05:26,690 --> 00:05:31,450
de la pregunta, como antes, contendrá tanto la clave

118
00:05:31,450 --> 00:05:33,050
y el valor

119
00:05:33,050 --> 00:05:36,330
Y entonces, ahora puedo reestructurar directamente eso

120
00:05:36,330 --> 00:05:38,600
en dos variables separadas.

121
00:05:38,600 --> 00:05:39,640
Así que esto es realmente,

122
00:05:39,640 --> 00:05:42,563
muy buen caso de uso de la reestructuración.

123
00:05:43,640 --> 00:05:46,660
Muy bien, solo para reiterar,

124
00:05:46,660 --> 00:05:48,520
esto es exactamente lo mismo que hicimos nosotros

125
00:05:48,520 --> 00:05:50,640
cuando hicimos un bucle sobre el objeto.

126
00:05:50,640 --> 00:05:53,120
La única diferencia es que para el objeto,

127
00:05:53,120 --> 00:05:56,940
necesitábamos entradas de puntos de objetos aquí.

128
00:05:56,940 --> 00:05:58,950
Y eso es solo porque el objeto

129
00:05:58,950 --> 00:06:00,620
no es un alterable,

130
00:06:00,620 --> 00:06:01,940
pero luego lo convertimos

131
00:06:01,940 --> 00:06:05,970
a un modificable usando entradas de punto de objeto.

132
00:06:05,970 --> 00:06:07,810
Y entonces esta parte aquí

133
00:06:07,810 --> 00:06:09,710
es exactamente igual

134
00:06:09,710 --> 00:06:10,900
Bueno.

135
00:06:10,900 --> 00:06:11,820
Ahora tenga en cuenta.

136
00:06:11,820 --> 00:06:15,160
Sólo queremos imprimir estos tres.

137
00:06:15,160 --> 00:06:17,010
Así que esencialmente solo queremos

138
00:06:17,010 --> 00:06:20,883
para imprimir un elemento si la clave es un número.

139
00:06:22,680 --> 00:06:25,262
Así que usemos lo que ya sabemos,

140
00:06:25,262 --> 00:06:30,262
tecla de apagado, número igual,

141
00:06:30,850 --> 00:06:33,500
y solo entonces mira a la consola.

142
00:06:33,500 --> 00:06:36,483
Así que aquí adentro, responde,

143
00:06:37,540 --> 00:06:39,130
y luego la llave.

144
00:06:39,130 --> 00:06:41,370
Entonces, el número para que la persona elija

145
00:06:42,620 --> 00:06:45,320
con el valor correcto,

146
00:06:45,320 --> 00:06:47,793
que va a ser la opción de respuesta en sí.

147
00:06:48,920 --> 00:06:50,960
Así que, aquí vamos.

148
00:06:50,960 --> 00:06:52,263
Responde uno, dos, tres,

149
00:06:53,500 --> 00:06:56,973
y ahora también registremos la pregunta en sí.

150
00:06:58,500 --> 00:07:00,053
Entonces aplicación de prueba,

151
00:07:02,263 --> 00:07:06,900
y aquí queremos que la pregunta no se haga, recuerda,

152
00:07:06,900 --> 00:07:10,253
y luego la tecla de pregunta.

153
00:07:10,253 --> 00:07:14,463
Y ahora está completo con preguntas y respuestas.

154
00:07:15,810 --> 00:07:18,320
Ahora para obtener la respuesta del usuario,

155
00:07:18,320 --> 00:07:20,403
volvamos a usar un indicador,

156
00:07:24,140 --> 00:07:28,023
así que responda igual a un aviso,

157
00:07:30,440 --> 00:07:33,180
y vamos a pedir tu respuesta

158
00:07:35,180 --> 00:07:37,493
y la respuesta.

159
00:07:37,493 --> 00:07:40,750
Y recuerda, necesitamos convertir esto ahora a un número

160
00:07:41,590 --> 00:07:45,110
porque eventualmente compararemos este número

161
00:07:45,110 --> 00:07:47,913
con la llave que tenemos aquí.

162
00:07:49,690 --> 00:07:50,523
Está bien.

163
00:07:51,860 --> 00:07:53,603
Imprimámoslo entonces también.

164
00:07:57,320 --> 00:07:58,153
Bueno.

165
00:07:58,153 --> 00:07:59,513
Así que aquí tenemos que cuestionar,

166
00:08:00,415 --> 00:08:02,223
y por supuesto la respuesta correcta

167
00:08:02,223 --> 00:08:03,460
es el número tres.

168
00:08:03,460 --> 00:08:04,633
Y aquí vamos.

169
00:08:06,210 --> 00:08:07,950
Y ahora podemos usar el poder

170
00:08:07,950 --> 00:08:10,520
de las claves booleanas aquí en orden

171
00:08:10,520 --> 00:08:14,187
para imprimir el mensaje de éxito aquí

172
00:08:14,187 --> 00:08:17,063
o el mensaje de error básicamente.

173
00:08:18,270 --> 00:08:19,630
Está bien.

174
00:08:19,630 --> 00:08:21,390
Entonces, ¿crees que puedes hacer eso?

175
00:08:21,390 --> 00:08:22,840
por tu cuenta?

176
00:08:22,840 --> 00:08:25,370
Solo tómate un minuto o dos e inténtalo

177
00:08:25,370 --> 00:08:27,253
por su cuenta ahora mismo.

178
00:08:30,230 --> 00:08:32,580
Entonces, ¿te las arreglaste para hacer eso?

179
00:08:32,580 --> 00:08:35,510
Bueno, comencemos comparando la respuesta.

180
00:08:35,510 --> 00:08:38,403
con la respuesta correcta, básicamente.

181
00:08:39,950 --> 00:08:44,950
Así que esa es una pregunta que no se corrige.

182
00:08:47,880 --> 00:08:51,890
Y entonces esto es un tres, ¿verdad?

183
00:08:51,890 --> 00:08:55,470
Y luego podemos comparar eso con la respuesta.

184
00:08:55,470 --> 00:08:56,303
Entonces, en este caso,

185
00:08:56,303 --> 00:08:58,220
esto también fue tres.

186
00:08:58,220 --> 00:08:59,053
Y así esto aquí,

187
00:08:59,053 --> 00:09:01,290
lo que devuelve la verdad.

188
00:09:01,290 --> 00:09:02,520
Correcto.

189
00:09:02,520 --> 00:09:04,140
Y ahora, ya que esto es cierto,

190
00:09:04,140 --> 00:09:06,420
podemos enchufar eso directamente

191
00:09:06,420 --> 00:09:08,410
en el mapa.

192
00:09:08,410 --> 00:09:11,423
Y entonces este verdadero luego regresará correcto.

193
00:09:12,450 --> 00:09:14,300
Así que eso es similar a lo que hicimos

194
00:09:14,300 --> 00:09:16,883
en el video anterior también.

195
00:09:18,490 --> 00:09:19,323
Y así de nuevo,

196
00:09:19,323 --> 00:09:23,963
estamos usando el poder de tener valores booleanos como claves,

197
00:09:25,200 --> 00:09:28,970
y luego registremos ese mensaje final

198
00:09:28,970 --> 00:09:29,883
a la consola

199
00:09:31,090 --> 00:09:33,680
Así que tres de nuevo, ahora,

200
00:09:33,680 --> 00:09:35,857
y algo salió mal,

201
00:09:35,857 --> 00:09:38,830
pero veo que es sólo aquí.

202
00:09:38,830 --> 00:09:39,663
¿Es el nombre?

203
00:09:39,663 --> 00:09:41,980
Así que esto es correcto.

204
00:09:41,980 --> 00:09:42,813
Incorrecto.

205
00:09:43,750 --> 00:09:45,880
Así que de nuevo tres

206
00:09:45,880 --> 00:09:46,830
y ahora

207
00:09:46,830 --> 00:09:48,383
de hecho tenemos razón.

208
00:09:49,640 --> 00:09:50,700
Bueno.

209
00:09:50,700 --> 00:09:52,000
Así que esto es tres aquí.

210
00:09:52,000 --> 00:09:53,690
La respuesta es tres,

211
00:09:53,690 --> 00:09:55,040
esto es tres.

212
00:09:55,040 --> 00:09:56,790
Y entonces esto aquí será verdad.

213
00:09:56,790 --> 00:09:59,110
Y así, cuando obtenemos un verdadero

214
00:09:59,110 --> 00:10:00,410
del mapa,

215
00:10:00,410 --> 00:10:04,750
obtenemos bien esta cadena,

216
00:10:04,750 --> 00:10:06,410
algo más.

217
00:10:06,410 --> 00:10:08,523
Y de hecho conseguimos intentarlo de nuevo.

218
00:10:09,380 --> 00:10:10,213
Bueno.

219
00:10:10,213 --> 00:10:11,046
Y con eso,

220
00:10:11,046 --> 00:10:15,690
Terminamos este pequeño y agradable cuestionario.

221
00:10:15,690 --> 00:10:17,650
Ahora, solo para terminar aquí,

222
00:10:17,650 --> 00:10:18,800
Como nota al margen,

223
00:10:18,800 --> 00:10:21,680
a veces también necesitamos volver a convertir un mapa

224
00:10:21,680 --> 00:10:23,120
a una matriz.

225
00:10:23,120 --> 00:10:25,693
Así que básicamente a esta estructura,

226
00:10:27,130 --> 00:10:30,950
y podemos hacer eso, así.

227
00:10:30,950 --> 00:10:32,560
Así que convierte el mapa

228
00:10:32,560 --> 00:10:35,483
a la matriz básicamente.

229
00:10:36,710 --> 00:10:40,110
Puede hacerlo simplemente construyendo una nueva matriz

230
00:10:40,110 --> 00:10:42,080
y luego desempacar de nuevo,

231
00:10:42,080 --> 00:10:43,740
utilizando el operador de propagación.

232
00:10:43,740 --> 00:10:45,843
El mapa de preguntas,

233
00:10:48,340 --> 00:10:50,500
nos está preguntando aquí de nuevo.

234
00:10:50,500 --> 00:10:52,950
Y entonces el resultado es esencialmente

235
00:10:52,950 --> 00:10:54,860
esta misma estructura de datos.

236
00:10:54,860 --> 00:10:56,303
Así que la matriz de matrices,

237
00:10:57,500 --> 00:10:59,890
con el que empezamos.

238
00:10:59,890 --> 00:11:01,630
Así que es este de aquí.

239
00:11:01,630 --> 00:11:02,970
Así que en este caso, por supuesto,

240
00:11:02,970 --> 00:11:05,240
esto no tendría mucho sentido,

241
00:11:05,240 --> 00:11:07,509
pero todavía tiene que saber que a veces

242
00:11:07,509 --> 00:11:10,463
puede convertir un mapa en una matriz.

243
00:11:12,030 --> 00:11:15,830
Vamos a preestablecer esto aquí a algún valor

244
00:11:16,980 --> 00:11:19,223
para que no siempre nos moleste aquí.

245
00:11:21,150 --> 00:11:22,550
Y por cierto,

246
00:11:22,550 --> 00:11:23,817
también están los,

247
00:11:26,200 --> 00:11:28,930
los métodos que teníamos en matrices,

248
00:11:28,930 --> 00:11:30,400
cuales son las entradas

249
00:11:32,920 --> 00:11:35,160
y tambien llaves

250
00:11:35,160 --> 00:11:38,030
y valores

251
00:11:38,030 --> 00:11:39,823
en caso de que los necesites.

252
00:11:41,230 --> 00:11:44,030
Bien, ahora nos dan

253
00:11:44,030 --> 00:11:46,230
este extraño iterador aquí.

254
00:11:46,230 --> 00:11:48,330
Entonces, tal como les mostré antes,

255
00:11:48,330 --> 00:11:50,560
hay que esparcirlos y ponerlos

256
00:11:50,560 --> 00:11:51,453
en una nueva matriz.

257
00:11:53,540 --> 00:11:55,373
Así como esto,

258
00:11:57,870 --> 00:11:59,890
pero esto no es realmente tan importante.

259
00:11:59,890 --> 00:12:02,750
Solo quería mostrarles que esto existe.

260
00:12:02,750 --> 00:12:04,750
y para esto, en realidad no hay necesidad,

261
00:12:04,750 --> 00:12:07,450
porque va a ser exactamente igual que este.

262
00:12:08,800 --> 00:12:09,970
Bueno.

263
00:12:09,970 --> 00:12:11,920
Así que estas son todas las claves.

264
00:12:11,920 --> 00:12:14,193
y todos los valores en dit.

265
00:12:15,890 --> 00:12:18,470
Muy bien y eso es todo lo que tengo para mostrarte

266
00:12:18,470 --> 00:12:20,830
sobre mapas por ahora,

267
00:12:20,830 --> 00:12:22,680
pero ahora te estarás preguntando

268
00:12:22,680 --> 00:12:24,280
¿Cuándo debo usar mapas?

269
00:12:24,280 --> 00:12:26,230
y ¿cuándo debo usar objetos?

270
00:12:26,230 --> 00:12:29,000
Porque son bastante similares, ¿verdad?

271
00:12:29,000 --> 00:12:32,420
Bueno, de eso se trata la próxima conferencia.

272
00:12:32,420 --> 00:12:33,940
Allí te ayudaré a elegir.

273
00:12:33,940 --> 00:12:36,210
entre todas las estructuras de datos,

274
00:12:36,210 --> 00:12:38,833
incluso arreglos y conjuntos pares.