Skip to main content
Únase a nosotros en TDX, en San Francisco, o en Salesforce+ los días 5 y 6 de marzo en la conferencia para desarrolladores sobre la era de agentes de IA. Registrarse ahora.

Usar un bucle for para iterar a través de una lista

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Decida cuándo usar un bucle for tradicional y cuándo usar un bucle de iteración de lista o conjunto.
  • Escriba un bucle for tradicional y un bucle de iteración de 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 vídeo, parte de la serie Trail Together en Trailhead Live. 

(Este vídeo comienza en el minuto 1:03:24, en caso de que desee retroceder y volver a ver el principio del paso).

Introducción

Como ha aprendido en Aspectos básicos 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 hacer una tarea una y otra vez. Apex tiene tres tipos de bucles. Ya ha utilizado los bucles while y do-while. El tercer tipo es el bucle for. Un bucle for itera a través de los elementos de la misma manera que los bucles while y do-while, pero también puede repetirse a través de una lista o conjunto. (Puede usar bucles for con SOQL también, pero eso será para otro día).

En esta unidad, aprenderá sobre dos tipos de bucles for.

  • El bucle for tradicional.
  • El bucle for de iteración de lista o conjunto.

Bucle for tradicional

Para repasar, los bucles while y do-while especifican una condición que controla cuántas veces se ejecuta un bloque de código. El bucle termina cuando la condición es falsa. Los bucles for hacen lo mismo, pero con una sintaxis más sencilla. 

Veamos cómo funciona. Cuando comienza el bucle, se inicia un contador. Luego, verifica si la condición del bucle es verdadera. Si la respuesta es sí, entonces el bucle hace una acción, actualiza el contador y vuelve a verificar la condición. Cuando la respuesta a la verificación de la condición es no, el bucle se detiene.

Diagrama de flujo de un bucle for tradicional.

La declaración del bucle hace tres cosas.

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

for(Número entero i = 0; i<5; i++){ //Code Block }

Cuando comienza el bucle, la variable i es 0, es decir, menor que 5. La condición es true (verdadera), por lo que el bucle se ejecuta una vez. Al final de esa iteración, la variable se incrementa e i se convierte en 1, es decir, sigue siendo menor que 5. Así que el bucle se ejecuta de nuevo. Este ciclo continúa hasta que i = 5. Luego, debido a que la condición es false (falsa), el bucle termina.

Escribir y ejecutar un bucle tradicional for

  1. En Developer Console, haga clic en Debug | Open Execute Anonymous Window (Depurar | Abrir ventana de ejecución anónima).
  2. En la ventana Enter Apex Code (Introducir código 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 muestren el número aumentando de cero a cuatro. 

[2]|DEBUG| El número es 0.[2]|DEBUG| El número es 1.[2]|DEBUG| El número es 2.[2]|DEBUG| El número es 3.[2]|DEBUG| El número es 4.

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

  1. Los bucles for se utilizan cuando se sabe cuántas veces debe ejecutarse el bucle. Si desea que el bucle se detenga según una condición diferente a la cantidad de veces que se ejecuta, debe usar 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 sola 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 lugar de hacerlo con cinco. Dos líneas más de código pueden parecer ahora una pequeña diferencia; pero, cuando su organización tiene miles de líneas de código, cada una de ellas cuenta.

Bucle for de iteración de lista o conjunto

El bucle de iteración for de lista o conjunto (bucle de iteración for) es una variación del bucle for tradicional. El bucle de iteración for recorre los elementos de una lista o conjunto. Debido a que la lista o el conjunto tiene un número específico de elementos, no es necesario incrementar una variable ni verificar una condición. El bucle recorre todos los elementos de la lista o conjunto, y luego termina.

La sintaxis de un bucle de iteración for es un poco diferente a la sintaxis del bucle for tradicional. Cuando declara un bucle de iteración for, el tipo de dato de la variable debe coincidir con el tipo de dato de la lista o conjunto. Aquí está la sintaxis para un bucle de iteración for.

for (data_type variable_name : list_name or set_name){
    // Loop body
}

Escribir un bucle de iteración for

Creemos un bucle de iteración for para recorrer esta lista.

List <String> tea = new List<String>{'Black Tea', 'Green Tea', 'Chai Tea'};

Tenga en cuenta que la lista tea tiene el tipo de dato cadena. Para declarar el bucle de iteración for, usamos el tipo de dato de la lista (cadena) y el nombre de la lista (tea).

for (String t :tea) 

Esta instrucción hace dos cosas antes de dar comienzo al bucle.

  1. Asigna la variable t con el tipo de dato cadena (que coincide con el tipo de dato de la lista).
  2. Especifica la lista tea como aquella a través de la cual el bucle se repite.

Tenemos la definición de la lista y del bucle de iteración for. Todo lo que tenemos que hacer es unirlos 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 | Open Execute Anonymous Window (Depurar | Abrir ventana de ejecución anónima).
  2. En la ventana Enter Apex Code (Introducir código 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 que muestran que tenemos Té negro, Té verde y Té chai.

Registro de depuración con tres entradas que muestran: té negro, té verde y té chai.

¡Eso suena genial!

Conclusión

¡Bien hecho! Con esto ya ha aprendido algo más. Si alguna vez se siente inseguro acerca de un concepto, consulte los recursos de Apex, como la Guía del desarrollador de Apex. Si sabe dónde encontrar respuestas y se compromete a resolver problemas, la programación en Apex se va volviendo más sencilla con el tiempo. Sea paciente. ¡Feliz programación!

Recursos

Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios