Utilizar un bucle for para iterar a través de una lista
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Decidir cuándo utilizar un bucle for tradicional y cuándo utilizar un bucle for de iteración por lista o conjunto.
- Redacte un bucle for tradicional y un bucle for de iteración por lista.
Siga el proceso con Trail Together
¿Desea seguir el proceso con un experto a medida que realiza este paso? Eche un vistazo a este video, parte de la serie Trail Together en Trailhead Live.
(Este video comienza en el minuto 01:03:24 a.m., en caso de que desee rebobinar y mirar el comienzo del paso nuevamente).
Introducción
Como aprendió en Fundamentos de Apex para administradores, un bucle es un bloque de código que se repite hasta que se cumple una condición específica. Los bucles le permiten realizar una tarea una y otra vez. Apex tiene tres tipos de bucles. Ya utilizó los bucles while
y do-while
. El tercer tipo es el bucle for
. Un bucle for
itera por elementos del mismo modo que los bucles while
y do-while
, pero también puede iterar a través de una lista o conjunto. (Puede utilizar bucles for
con SOQL también, pero eso lo veremos otro día.)
En esta unidad aprenderá sobre los dos tipos de bucles for
.
- El bucle
for
tradicional - El bucle
for
de iteración por lista o conjunto
Bucle For tradicional
Como repaso, los bucles while
y do-while
especifican una condición que controla cuántas veces se ejecuta un bloque de código. El bucle finaliza cuando la condición es falsa. Los bucles for
hacen la misma cosa, pero con una sintaxis más sencilla.
Así es como funciona: Cuando el bucle comienza, inicializa un contador. Luego comprueba si la condición del bucle es verdadera. Si la respuesta es afirmativa, el bucle realiza una acción, actualiza el contador y vuelve a comprobar la condición de nuevo. Cuando la respuesta a la comprobación de la condición es negativa, el bucle se detiene.
La instrucción de la declaración de bucle hace tres cosas.
- Inicializa la variable
i
en 0. - Especifica la condición
i < 5
. - Incrementa la variable
i
en unoi++
.
Cuando el bucle comienza, la variable i
es 0
, que es inferior a 5. La condición es true
(verdadera), de modo que el bucle se ejecuta una vez. Al final de una iteración, la variable se incrementa e i
se convierte en 1
, que aún es menos que 5. De modo que el bucle de ejecuta de nuevo. Este ciclo continúa hasta que i = 5
. A continuación, debido a que la condición es false
(falsa), el bucle termina.
Redactar y ejecutar un bucle for tradicional
- En Developer Console, haga clic en Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
- En la ventana Enter Apex Code (Ingresar código de Apex), pegue este código:
-
for(Integer i = 0; i < 5; i++){ System.debug('The number is ' + i ); }
- Ejecute el código y revise el registro de depuración.
Debería ver cinco entradas que muestran el número aumentando de cero a cuatro.
Así que, si los bucles while
y do-while
hacen lo mismo que los bucles for
, ¿por qué utilizar bucles for
? Por dos motivos:
- Los bucles
for
se utilizan cuando sabe el número de veces que debe ejecutarse el bucle. Si desea que el bucle se detenga en base a una condición que no sea el número de veces que se ejecuta, debe utilizar el buclewhile
. - Los bucles
for
son más concisos porque mantienen las tres partes (la variable, la condición y el incremento) juntas en una instrucción.
Mire este ejemplo escrito como un bucle while
y de nuevo como un bucle for
.
Bucle While
Integer i = 0; while (i < 5){ System.debug('The number is ' + i); i++; }
Bucle For
for(Integer i = 0; i < 5; i++){ System.debug('The number is ' + i ); }
El código del bucle for
es más compacto. Hace lo mismo que el bucle while
, pero lo hace con tres líneas de código en vez de cinco. Dos líneas de código adicionales podrían parecer poca diferencia ahora, pero cuando su organización tiene miles de líneas de código, cada línea adicional es relevante.
Bucles for de iteración por listas o conjuntos
El bucle for
de iteración por lista o conjunto (bucle for
de iteración) es una variación del bucle for
tradicional. El bucle for
de iteración pasa por los elementos de una lista o conjunto. Debido a que la lista o conjunto tiene un número específico de elementos, no hay que incrementar una variable o comprobar una condición. El bucle pasa por todos los elementos de la lista o conjunto, y luego finaliza.
La sintaxis para un bucle for
de iteración es algo diferente a la sintaxis del bucle for
tradicional. Cuando declara un bucle for
de iteración, el tipo de datos de la variable debe coincidir con el tipo de datos de la lista o conjunto. Esta es la sintaxis de un bucle for de iteración.
for (data_type variable_name : list_name or set_name){ // Loop body }
Redactar un bucle for de iteración
Creemos un bucle for
de iteración para que pase por esta lista.
List <String> tea = new List<String>{'Black Tea', 'Green Tea', 'Chai Tea'};
Observe que la lista tea
(té) tiene el tipo de datos cadena. Para declarar el bucle for
de iteración, utilizamos el tipos de datos de lista (cadena) y el nombre de la lista (té).
for (String t: tea)
Esta instrucción hace dos cosas antes de que comience el bucle.
- Declara la variable
t
con el tipo de datos cadena (que coincide con el tipo de datos de la lista). - Especifica la lista té como la lista por la que itera el bucle.
Tenemos la declaración de la lista y la declaración del bucle for
de iteración. Todo lo que tenemos que hacer es ponerlo todo junto con el cuerpo del bucle y estaremos listos para ejecutar el código.
Ejecutar el código
- En Developer Console, haga clic en Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
- En la ventana Enter Apex Code (Ingresar código de Apex), pegue este código:
-
List <String> tea = new List<String>{'Black Tea', 'Green Tea', 'Chai Tea'}; for(String t : tea){ System.debug('We have ' + t); }
- Ejecute el código y revise el registro de depuración.
Revise el registro de depuración. Debería ver tres entradas mostrando que tenemos Té negro, Té verde y Té chai.
¡Es bastante fácil!
Finalización
¡Bien hecho! Aprendió bastante Si alguna vez no está seguro sobre un concepto, recurra a los recursos de Apex, como la Guía del desarrollador de Apex. Si sabe dónde encontrar respuestas y se compromete a trabajar con los problemas, la programación con Apex se vuelve cada vez más fácil. Tenga paciencia. ¡Feliz programación!
Recursos
- Apex Developer Guide: For Loops