Con el bucle for each de Java puedes recorrer arrays o co­le­c­cio­nes de forma más rápida y segura, evitar errores y mejorar la le­gi­bi­li­dad del código. En este tutorial, te ex­pli­ca­mos la es­tru­c­tu­ra y las ventajas del método for each en detalle y te mostramos cómo utilizar el bucle en tu código.

¿Para qué sirve el bucle for each de Java?

El bucle for each se utiliza en muchas si­tua­cio­nes en las que los de­sa­rro­lla­do­res de Java tienen que trabajar con arrays. Por ejemplo, un uso habitual es la salida o búsqueda de elementos es­pe­cí­fi­cos de un array. El bucle for each también se puede utilizar para iterar a través de los elementos de una lista im­ple­me­n­ta­da como ArrayList. En cada iteración, se pueden realizar ma­ni­pu­la­cio­nes au­to­má­ti­cas con los ope­ra­do­res Java comunes sin tener que escribir una sentencia separada para cada elemento.

Comparado con el bucle for de Java, el método for each de Java no necesita co­n­si­de­rar el índice o el tamaño del array. Esto evita que un índice esté fuera del rango válido. El bucle for each utiliza in­te­r­na­me­n­te un iterador para abrir su­ce­si­va­me­n­te cada elemento del array o lista. El iterador cuenta au­to­má­ti­ca­me­n­te a través del array o lista y termina el bucle cuando todos los elementos han sido re­co­rri­dos.

Sin embargo, si necesitas acceder al índice, por ejemplo, para editar el elemento siguiente o anterior, puede ser más apropiado utilizar el bucle for o while.

La sintaxis del bucle for each de Java

La sintaxis básica de un bucle for each en Java es la siguiente:

for (type item : array | collection) {
// code block
}
Java
  • array/collection: nombre del array o colección
  • item: cada elemento del array o colección se asigna a esta variable
  • type: tipo de datos del array o colección

Dentro del bucle, el bloque de código se ejecuta para cada iteración.

Ejemplos de uso del bucle for each de Java

A co­n­ti­nua­ción, te mostramos cómo utilizar el método for each uti­li­za­n­do salida en pantalla y ope­ra­cio­nes ari­t­mé­ti­cas como ejemplo.

Elementos de salida en la consola

Uti­li­za­n­do el bucle for each, puedes mostrar cada elemento de un array o colección en pantalla.

class Main {
    public static void main(String[] args) {
        // array
        String[] names = {"Sophie", "Tim", "Anna", "John", "Melissa"};
        // for each loop
        for (String name: names) {
            System.out.println(name);
        }
    }
}
Java

En la consola obtenemos el siguiente resultado:

Sophie
Tim
Anna
John
Melissa
Java

De forma similar, se pueden obtener los elementos de una lista. El código fuente del bucle no cambia.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        // list
        ArrayList<String> names = new ArrayList<String>();
        names.add( "Sophie" );
        names.add( "Tim" );
        names.add( "Anna" );
        names.add( "John" );
        names.add( "Melissa" );
        // for each loop
        for(String name: names){
            System.out.println(name);
        }
    }
}
Java

Se genera una cadena para cada nombre de la lista:

Sophie
Tim
Anna
John
Melissa
Java

Calcular la suma de elementos de un array o colección

Las ope­ra­cio­nes ari­t­mé­ti­cas, como la suma de elementos de un array o una lista, pueden rea­li­zar­se fácil y rá­pi­da­me­n­te con el método Java for each. Los ope­ra­do­res están vi­n­cu­la­dos a la variable que sirve de marcador de posición para cada elemento dentro del bloque de código del bucle.

class Main {
    public static void main(String[] args) {
        // array
        int[] numbers = {10, 34, 7, 19, -28};
        int sum = 0;
        // addition
        for (int number: numbers) {
            sum += number;
        }
        System.out.println("Result = " + sum);
    }
}
Java

Los números del array se suman en secuencia a la variable suma, declarada pre­via­me­n­te fuera del bucle. El resultado es el siguiente:

Result = 42
Java
Ir al menú principal