Skip to main content

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.

Diagrama de flujo de trabajo de un bucle for tradicional.

La instrucción de la declaración de bucle hace tres cosas.

  1. Inicializa la variable i en 0.
  2. Especifica la condición i < 5.
  3. Incrementa la variable i en uno i++.

for(Integer i = 0; i<5; i++){ //Bloque de código }

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

  1. En Developer Console, haga clic en Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
  2. En la ventana Enter Apex Code (Ingresar código de Apex), pegue este código:
  3. for(Integer i = 0; i < 5; i++){
        System.debug('The number is ' + i );
    }
  4. 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. 

[2]|DEBUG| The number is 0.[2]|DEBUG| The number is 1.][2]|DEBUG| The number is 2.[2]|DEBUG| The number is 3.[2]|DEBUG| The number is 4.

Así que, si los bucles while y do-while hacen lo mismo que los bucles for, ¿por qué utilizar bucles for? Por dos motivos: 

  1. 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 bucle while.
  2. 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.

  1. Declara la variable t con el tipo de datos cadena (que coincide con el tipo de datos de la lista).
  2. 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

  1. En Developer Console, haga clic en Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
  2. En la ventana Enter Apex Code (Ingresar código de Apex), pegue este código:
  3. List <String> tea = new List<String>{'Black Tea', 'Green Tea', 'Chai Tea'};
    for(String t : tea){
        System.debug('We have ' + t);
    }
  4. 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.

Registro de depuración con tres entradas que muestran lo siguiente: 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

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios