1
00:00:00,160 --> 00:00:04,800
Bien, veamos cómo mejorar, optimizar el código que implementamos la clase anterior.

2
00:00:04,900 --> 00:00:07,230
Sí, porque se puede mejorar un poco más.

3
00:00:07,350 --> 00:00:13,380
De hecho, acá tenemos dos usuarios, pero qué pasa si empieza a crecer y necesitamos implementar 10

4
00:00:13,380 --> 00:00:13,890
usuarios?

5
00:00:13,980 --> 00:00:14,430
10.

6
00:00:14,530 --> 00:00:21,560
Bueno, tendríamos que modificar ELIF y agregar el HOR 10 veces uno por cada usuario para el YUZO en

7
00:00:21,560 --> 00:00:27,030
el 1, el 2, el 3 hasta el N y quizás no sea la mejor forma de implementarlo.

8
00:00:27,150 --> 00:00:29,520
No es la forma más optimizada para eso.

9
00:00:29,520 --> 00:00:36,900
Podríamos usar, por ejemplo, arreglos y usando un fork o un Fortich, iterar por cada elemento de

10
00:00:36,900 --> 00:00:39,940
este arreglo y preguntándonos cierto por qué elementos.

11
00:00:39,940 --> 00:00:47,190
Y el uso de ese elemento, de esa red es igual al que ingresó el usuario y lo mismo con el password.

12
00:00:47,310 --> 00:00:51,780
Pero ya está más optimizado es a través de una iteración de un fork.

13
00:00:51,900 --> 00:00:57,090
De esa forma nuestro código queda mucho más limpio y con menos líneas de código mucho más optimizado.

14
00:00:57,360 --> 00:01:02,880
Podemos usar, por ejemplo, arreglos, pero también hay otro tipo de estructura de datos, que son

15
00:01:03,000 --> 00:01:04,870
el API de colección Villaba.

16
00:01:05,030 --> 00:01:09,120
Bueno, es un tema mucho más avanzado que lo vamos a ver más adelante en el curso.

17
00:01:09,150 --> 00:01:15,660
Por ahora vamos a comenzar con arreglos, pero esta clase es de una introducción solamente para comenzar

18
00:01:15,750 --> 00:01:20,880
a utilizar los arreglos y familiarizarse con ellos bien, pero creo que es un arreglo.

19
00:01:20,970 --> 00:01:22,390
De qué se trata en Java?

20
00:01:22,570 --> 00:01:28,440
Bueno, un arreglo nos permite guardar, almacenar objetos o variables o tipos de datos.

21
00:01:28,530 --> 00:01:33,210
También puede ser primitivos, pero está asociado siempre al mismo tipo auto.

22
00:01:33,360 --> 00:01:38,700
Es decir, dentro de un arreglo podemos guardar solamente elementos que son del mismo tipo dato.

23
00:01:38,760 --> 00:01:42,210
Por ejemplo, un arreglo de streeck tal como tenemos acá.

24
00:01:43,130 --> 00:01:44,310
Son los argumentos.

25
00:01:44,510 --> 00:01:50,380
Solamente podemos guardar elementos del tipo streeck, pero también podríamos tener un arreglo de enteros

26
00:01:50,380 --> 00:01:56,350
primitivo, un arreglo de char o carácteres, en fin, pero permite guardar datos que son del mismo

27
00:01:56,350 --> 00:01:56,710
tipo.

28
00:01:56,800 --> 00:02:01,210
Eso es importante, es como una cajonera o una cómoda con cajones.

29
00:02:01,330 --> 00:02:04,240
Y en qué cajón guardo elementos que son del mismo tipo.

30
00:02:04,560 --> 00:02:06,370
Cómo se definen con el tipo dato?

31
00:02:06,520 --> 00:02:07,090
Muy simple.

32
00:02:07,120 --> 00:02:13,000
Por ejemplo, en este caso del tipo string, porque vamos a guardar nombre de usuarios y contraseñas

33
00:02:13,060 --> 00:02:13,630
o password.

34
00:02:15,010 --> 00:02:18,460
Entonces el tipo string con el tipo dato, pero le agregamos un corchete.

35
00:02:18,670 --> 00:02:24,370
De esa forma se define que ese tipo es un arreglo que contiene elementos del tipo string.

36
00:02:24,640 --> 00:02:31,210
Luego le damos el nombre a esta variable, por ejemplo y Yusa Names en plural.

37
00:02:31,450 --> 00:02:38,860
Lo coloco con la S para indicar de qué se trata de un arreglo con varios elementos igual y creamos la

38
00:02:38,860 --> 00:02:39,280
instancia.

39
00:02:39,330 --> 00:02:44,980
Recuerden que un arreglo en Java es del tipo de referencia que es un objeto, una instancia.

40
00:02:44,980 --> 00:02:50,450
Por lo tanto creamos esta referencia del arreglo con el operador neo string corchete.

41
00:02:50,910 --> 00:02:57,070
Entonces, para crear una instancia de un arreglo se usa el tipo que va a guardar o va contener.

42
00:02:57,160 --> 00:03:03,940
Este arreglo y la cantidad elementos entre los corchetes, por ejemplo, va a tener dos elementos.

43
00:03:05,320 --> 00:03:08,950
Es importante que sea con corchetes y no con paréntesis.

44
00:03:09,160 --> 00:03:15,280
Recuerden que creamos instancias con el operador New y los paréntesis cuando son clases con corchete,

45
00:03:15,340 --> 00:03:19,090
cuando son arreglos y dentro de corchete la cantida elemento.

46
00:03:19,550 --> 00:03:25,580
Ahí tenemos el arreglo y beings para guardar nombres de usuarios con capacidad de dos elementos.

47
00:03:25,860 --> 00:03:33,490
Al colocar dos, lo que hace es reservar en memoria espacio para este arreglo, para guardar Andrés

48
00:03:33,580 --> 00:03:33,960
y admit.

49
00:03:34,810 --> 00:03:35,710
Esto le quitamos.

50
00:03:37,250 --> 00:03:40,410
Yusa Nemes hará como guarda en 3 en este matriz.

51
00:03:40,550 --> 00:03:46,610
En este arreglo con los corchetes y acá tengo que indicar la posición donde lo voy a guardar.

52
00:03:47,030 --> 00:03:53,870
Tiene dos posiciones cero y uno, a pesar de que acá indicó dos, dos elementos o reservó de espacio,

53
00:03:53,900 --> 00:04:00,100
pero el espacio 1 corresponde al índice 0 y el espacio 2 corresponde al índice 1.

54
00:04:00,230 --> 00:04:01,280
Por lo tanto, admin.

55
00:04:02,370 --> 00:04:11,120
Lo guardamos en el espacio o índice 1 corchete 1 a ETA Alito con muchos Nek.

56
00:04:11,970 --> 00:04:17,760
Veamos el password, pero también passwords del tipo string corchete.

57
00:04:23,230 --> 00:04:29,670
Bueno, como tenemos dos Sandeep, vamos a tener dos contraseñas, uno para cada uno de cada también,

58
00:04:29,700 --> 00:04:37,830
pero en vez de utilizar el arreglo y utilizamos passwords y lo mismo.

59
00:04:38,160 --> 00:04:45,480
El primer password lo guardamos en la posición cero de la red, lo password y este de acá en la posición

60
00:04:45,540 --> 00:04:45,900
1.

61
00:04:50,090 --> 00:04:58,490
Bien, hoy tenemos nuestra estructura de datos con arreglos de Andrés, se guarda en el arreglo y sentimos

62
00:04:58,640 --> 00:05:04,550
en el índice cero en la primera posición o primer elemento, mientras que el password de Andrés 1 2

63
00:05:04,550 --> 00:05:07,690
3 4 5 lo guardamos en el arreglo password.

64
00:05:07,820 --> 00:05:15,440
También en la posición cero y admin en la posición 1 en yuuzhan beings y su contraseña en la posición

65
00:05:15,560 --> 00:05:16,740
1 en passwords.

66
00:05:17,480 --> 00:05:20,180
Entonces tenemos dos arreglos, uno para cada uno.

67
00:05:20,290 --> 00:05:22,980
Para el nombre de usuario y para password IPEC.

68
00:05:23,180 --> 00:05:23,690
Qué falta?

69
00:05:23,780 --> 00:05:30,170
Ahora tengo que modificar el IFF porque debemos iterar utilizando un fork para que sea de forma dinámica,

70
00:05:30,290 --> 00:05:32,690
donde el primer elemento es el cero.

71
00:05:32,810 --> 00:05:38,600
Vamos a inicializar el contador en cero y después lo vamos a ir incrementando hasta llegar a la cantidad

72
00:05:38,600 --> 00:05:39,830
de elementos de la red.

73
00:05:40,030 --> 00:05:42,270
Bueno, veamos, vamos a tener acá Alford.

74
00:05:43,820 --> 00:05:46,700
Recuerden que el formato está formado por tres partes.

75
00:05:46,880 --> 00:05:53,780
La primera es cuando se inicializar el foro, la iteración, el y o contador igual a cero en el fondo.

76
00:05:53,880 --> 00:05:57,430
En la partida del foro, la segunda parte es cuando finaliza el foro.

77
00:05:57,560 --> 00:05:58,820
Hasta dónde tiene que iterar?

78
00:05:59,120 --> 00:06:03,980
Cuando el sea menor que la cantidad elementos de la red, lo bueno, el arreglo.

79
00:06:04,220 --> 00:06:06,140
Yo Senex tiene dos elementos.

80
00:06:06,440 --> 00:06:08,310
Pero usando yuuzhan nîmes.

81
00:06:09,700 --> 00:06:10,120
Punto.

82
00:06:10,130 --> 00:06:18,080
Lenka Entonces, mientras el ICEA menor que la Kanté elementos va iterar y cuando sea igual o mayor

83
00:06:18,170 --> 00:06:20,840
que elementos finaliza el foro.

84
00:06:21,680 --> 00:06:28,070
Y la tercera parte para incrementar el contador ély un post incremental perfecto.

85
00:06:28,670 --> 00:06:29,510
Ahí tenemos el foro.

86
00:06:31,580 --> 00:06:39,560
Entonces ahora vamos a cortar esto, vamos a cortar el IHF completamente y lo dejamos acá, lo pegamos

87
00:06:40,190 --> 00:06:41,090
y lo tenemos que modificar.

88
00:06:41,990 --> 00:06:50,570
Anteriormente teníamos Yusa y Password y Yussef en dos y Paz Huertos y se evaluaba con el orden.

89
00:06:50,870 --> 00:06:55,170
Se fijan para dos usuarios, pero si tenemos tres sería otro hor, cuatro.

90
00:06:55,460 --> 00:06:56,210
Otro hor.

91
00:06:56,300 --> 00:07:01,300
Y así ahora no, ahora es solamente una sola condición, nada más.

92
00:07:02,030 --> 00:07:03,590
Por lo tanto, esto le quitamos.

93
00:07:04,710 --> 00:07:07,470
Quitamos esto y lo dejamos así simplemente.

94
00:07:08,190 --> 00:07:09,440
Ahora el yuuzhan.

95
00:07:09,870 --> 00:07:15,600
En realidad tendré que hacer el arreglo y yo cenamos con la S y corchete.

96
00:07:15,870 --> 00:07:21,600
Por cada elemento atrás del corchete accedemos al valor de este arreglo con su posición.

97
00:07:22,260 --> 00:07:28,620
La posición sería y lo mismo el passwords en plural corchete, la posición y.

98
00:07:29,940 --> 00:07:30,720
Cómo funciona?

99
00:07:31,290 --> 00:07:36,990
Comienza el foro y Thera con igual cero preguntas cero es mayor que la Kanté elemento.

100
00:07:37,110 --> 00:07:39,120
La Kanté elemento 2 no es mayor.

101
00:07:39,540 --> 00:07:43,530
Por lo tanto acá evaluamos y yuuzhan de cero.

102
00:07:43,740 --> 00:07:52,980
Vamos, pacá cero es Andrés, por lo tanto va a preguntar por Andrés y quals al usuario ingresado por

103
00:07:52,980 --> 00:07:57,870
el usuario en la consola valga la redundancia perfecto es igual.

104
00:07:57,990 --> 00:08:02,660
Ahora comparamos el password password cero porque vale cero.

105
00:08:02,740 --> 00:08:08,520
Estamos acá unos 3 4/5 es igual al password ingresado por el usuario perfecto.

106
00:08:08,720 --> 00:08:15,860
No encontró tru y de hecho acá no podríamos salir del foro para salirnos y para que no siga alterando

107
00:08:15,970 --> 00:08:18,720
y preguntando con los demás usuarios porque ya lo encontró.

108
00:08:18,810 --> 00:08:22,290
Podríamos hacer un break, break o break?

109
00:08:23,300 --> 00:08:24,520
Es para salirse del foro.

110
00:08:24,580 --> 00:08:28,150
Nada más nos salimos del foro y no continúa con la iteración después.

111
00:08:28,420 --> 00:08:30,280
De todas formas, después lo vamos a ver más en detalle.

112
00:08:31,240 --> 00:08:33,430
Bien, ahora qué pasa si no lo encontró?

113
00:08:33,730 --> 00:08:36,400
Qué pasa si el primer elemento es André?

114
00:08:36,550 --> 00:08:38,110
Pero ingresamos admin.

115
00:08:38,260 --> 00:08:39,730
Entonces cero es igual.

116
00:08:39,820 --> 00:08:44,050
Admin No, no es igual, porque Andrés no es igual.

117
00:08:44,110 --> 00:08:45,550
Admin Y el password?

118
00:08:45,600 --> 00:08:46,570
1 dos, tres, cuatro, cinco.

119
00:08:46,620 --> 00:08:52,810
Bueno, el palco sí podría ser igual, pero como falla el admin con Andrés no son iguales.

120
00:08:53,710 --> 00:08:57,310
Esto acá no se ejecuta, no se ejecuta.

121
00:08:57,320 --> 00:08:59,840
Este bloque, por lo tanto, continúa con el foro.

122
00:09:00,520 --> 00:09:04,210
Se incrementa en 1 hora y vale 1 1.

123
00:09:04,360 --> 00:09:06,430
Es menor que 2 que el largo.

124
00:09:06,570 --> 00:09:09,610
Si en menor perfecto, entonces acá sería 1.

125
00:09:09,850 --> 00:09:11,350
Admin es igual.

126
00:09:11,410 --> 00:09:16,680
Si perfecto es igual al ingreso del usuario y el password también.

127
00:09:16,840 --> 00:09:24,280
El password 1 también corresponde al paso que tenemos acá 1 2 3 4 5 es igual al password que ingresó

128
00:09:24,280 --> 00:09:25,070
el usuario 6.

129
00:09:25,120 --> 00:09:32,340
Igual lo deja autenticado en tru y se sale ya si por cada usuario se fija que queda mucho más simple.

130
00:09:34,160 --> 00:09:41,690
Menos líneas de código y más automatizado utilizando arreglos, ahora el arreglo solamente permite una

131
00:09:41,690 --> 00:09:48,560
kanté elemento estática, se crea la instancia de arreglo con cierta Kanté elemento y podemos definir

132
00:09:48,650 --> 00:09:50,410
hasta esa cantidad nada más.

133
00:09:50,570 --> 00:09:55,700
Por ejemplo, si queremos agregar un tercer usuario, acá tenemos que ampliar a tres.

134
00:09:57,740 --> 00:10:02,250
Pero no se puede ampliar de forma automática o dinámica como en otro lenguaje.

135
00:10:02,400 --> 00:10:08,820
Bueno, para eso en Java existen otra estructura como el lápiz de colección o las listas en Java.

136
00:10:08,900 --> 00:10:13,370
Pero como había explicado anteriormente, un tema más avanzado que vamos a ver después, entonces si

137
00:10:13,370 --> 00:10:21,680
queremos agregar un tercer usuario perfecto, aumento la capacidad y vamos a crear, por ejemplo, a

138
00:10:21,680 --> 00:10:22,040
Pepe.

139
00:10:23,030 --> 00:10:25,460
Acá indicamos posición 2.

140
00:10:28,680 --> 00:10:37,740
PP Recuerden Andrés en la posición cero, pero corresponde al elemento 1 admin en la posición 1 corresponde

141
00:10:37,830 --> 00:10:44,060
al elemento 2 y PP en la posición 2 corresponde al tercer elemento del arreglo.

142
00:10:44,520 --> 00:10:46,050
Vamos a aprobar, levantamos.

143
00:10:47,100 --> 00:10:50,700
Vamos a probar con Juan, un usuario que no existe.

144
00:10:53,270 --> 00:10:55,890
Se fijan en Nev o contraseña incorrecto.

145
00:10:56,190 --> 00:11:02,220
De hecho, acá está repitiéndose, fijan tres veces por cada usuario reiterando y como no lo encuentra

146
00:11:02,300 --> 00:11:03,630
él lo imprime.

147
00:11:04,240 --> 00:11:05,370
Pero comenzamos un foro.

148
00:11:05,430 --> 00:11:07,320
Es mucho mejor dejar esto afuera.

149
00:11:07,470 --> 00:11:13,320
Por ejemplo, en el otro IFF acá es distinto, autenticado, lo podríamos dejar acá.

150
00:11:14,250 --> 00:11:20,190
Yesto le quitamos entonces dentro del foro usábamos solamente Elif.

151
00:11:21,150 --> 00:11:23,250
Que auténtica y válida.

152
00:11:24,390 --> 00:11:24,900
Damas.

153
00:11:30,010 --> 00:11:35,650
Otro usuario Contraseña incorrecto una sola vez lo siento.

154
00:11:35,680 --> 00:11:37,090
Requiere autenticación.

155
00:11:37,330 --> 00:11:40,690
Bien, probemos con Andrés.

156
00:11:45,880 --> 00:11:46,960
Bienvenido usuario Andrés.

157
00:11:49,300 --> 00:11:50,400
Prodecon PP

158
00:11:53,750 --> 00:11:54,380
Perfecto.

159
00:11:58,940 --> 00:12:07,210
Y con Admin perfecto se fijan está funcionando exactamente igual que antes, pero usando arreglos y

160
00:12:07,300 --> 00:12:15,280
un Ford de forma dinámica donde evalúa por cada elemento de la red lo usen preguntando por el nombre

161
00:12:15,280 --> 00:12:23,110
usuario, el arreglo yuuzhan y el arreglo Pasqua para el Pasqua con el índice partiendo de cero y se

162
00:12:23,110 --> 00:12:28,990
incrementa en 1 en 1 hasta llegar a la Kanté elemento hasta 2 hasta 3.

163
00:12:29,050 --> 00:12:36,190
Porque tenemos a Pepe bien, quedó mucho mejor, pero también habría otra forma de escribir nuestro

164
00:12:36,250 --> 00:12:37,320
arreglo en Llada.

165
00:12:37,520 --> 00:12:39,910
Veamos la segunda forma más simplificada.

166
00:12:40,030 --> 00:12:41,120
Vamos a comentar esto.

167
00:12:43,750 --> 00:12:44,880
Voy a copiar esto de acá.

168
00:12:46,990 --> 00:12:47,910
Y lo dejamos acá.

169
00:12:48,270 --> 00:12:52,450
Bien, esto le quito y lo cambiamos por las llaves, esto también.

170
00:12:54,010 --> 00:12:58,920
Entonces, usando llaves también podemos definir un arreglo de una forma más simple.

171
00:12:59,250 --> 00:13:00,680
Y los elementos para Procomer?

172
00:13:00,930 --> 00:13:02,370
Por ejemplo, Andrés.

173
00:13:05,080 --> 00:13:13,960
Admin Coma Espacio y Pepe Coma Espacio y las contraseñas.

174
00:13:14,080 --> 00:13:15,860
Acá en Pashkus

175
00:13:18,690 --> 00:13:20,800
las tres son iguales, pero podrían ser distinta.

176
00:13:21,580 --> 00:13:23,170
Por ejemplo, un 2:3.

177
00:13:24,620 --> 00:13:26,840
1 3 4 1 3 4 5 pp.

178
00:13:27,140 --> 00:13:33,680
Se fijan de esta forma usando llaves y los elementos del tipo streeck por el tipo de arreglo separado

179
00:13:33,680 --> 00:13:36,110
por Comas y con tres elementos nada más.

180
00:13:36,260 --> 00:13:43,040
Ahora recuerden que los arreglo en Java se definen y se inicializar una sola vez con la Kanté elementos

181
00:13:43,160 --> 00:13:51,380
ya sea acá con tres elementos y luego se agregan con los índice o bien acá con tres elementos.

182
00:13:51,470 --> 00:13:55,680
Se definen o se declaran de forma explícita con tres elementos.

183
00:13:56,270 --> 00:13:58,940
Vamos a probar el resultado de ser exactamente el mismo.

184
00:13:59,810 --> 00:14:07,970
Por ejemplo, Andrés 1 2 3 4 5 debería fallar porque la clave ahora es un 2 3.

185
00:14:08,380 --> 00:14:08,960
Se fijan?

186
00:14:09,440 --> 00:14:15,060
Volvemos a probar un 2 3 nadamas perfecto.

187
00:14:16,340 --> 00:14:18,860
Nada más continuamos en la siguiente clase.
