Met de for-each Java-lus kunt u arrays en col­lec­ties sneller en veiliger doorlopen, fouten vermijden en de lees­baar­heid van de code ver­be­te­ren. In deze tutorial leggen we de structuur en voordelen van de for-each-methode in meer detail uit en laten we u zien hoe u de lus in uw code kunt gebruiken.

Waarvoor wordt de for-each Java-lus gebruikt?

De for-each-lus wordt in veel scenario’s gebruikt waarin Java-ont­wik­ke­laars met arrays moeten werken. Een veel­voor­ko­mend gebruik is bij­voor­beeld het uitvoeren of zoeken van spe­ci­fie­ke elementen van een array. De for-each-lus kan ook worden gebruikt om elementen in een lijst te doorlopen die is ge­ïm­ple­men­teerd als een ArrayList. In elke iteratie kunt u au­to­ma­ti­sche be­wer­kin­gen uitvoeren met gangbare Java-ope­ra­to­ren, zonder dat u voor elk element een aparte in­struc­tie hoeft te schrijven.

In te­gen­stel­ling tot de for-lus in Java hoeft u bij het gebruik van de for-each Java-lus geen rekening te houden met de index of grootte van de array. Doordat u geen rekening hoeft te houden met deze aspecten, voorkomt u het risico dat een index buiten het geldige bereik valt. De for-each-lus gebruikt intern een iterator om elk element van de array of lijst één voor één op te roepen. De iterator telt au­to­ma­tisch door de array of lijst en beëindigt de lus wanneer alle elementen zijn doorlopen.

Als u echter toegang tot de index nodig hebt om het volgende of vorige element te bewerken, is het wellicht zinvoller om de for-lus of de while-lus te gebruiken.

Wat is de syntaxis van de for-each Java-lus?

De ba­sis­syn­taxis van een for-each-lus in Java ziet er als volgt uit:

for (type item : array | collection) {
// code block
}
Java
  • array/collection: Naam van de array of ver­za­me­ling
  • item: Elk element van de array of ver­za­me­ling wordt aan deze variabele toe­ge­we­zen
  • type: Datatype van de array of ver­za­me­ling

Binnen de lus wordt het codeblok voor elke iteratie uit­ge­voerd.

Voor­beel­den van het gebruik van de for-each Java-lus

Hieronder laten we zien hoe je de for-each-methode kunt gebruiken met behulp van scherm­uit­voer en re­ken­kun­di­ge be­wer­kin­gen.

Elementen naar de console uitvoeren

Met behulp van de for-each-lus kunt u elk element van een array of ver­za­me­ling op het scherm weergeven.

class Main {
    public static void main(String[] args) {
        // array
        String[] names = {"Sophie", "Mia", "Harrison", "Elliot", "Melissa"};
        // for each loop
        for (String name: names) {
            System.out.println(name);
        }
    }
}
In the console, we get the output:
```Java
Sophie
Mia
Harrison
Elliot
Melissa
Java

Het is ook mogelijk om de elementen van een lijst analoog uit te voeren. De broncode voor de lus blijft on­ge­wij­zigd.

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

Voor elke naam uit de lijst wordt een te­ken­reeks ge­ge­ne­reerd:

Sophie
Mia
Harrison
Elliot
Melissa
Java

De som van elementen in een array of ver­za­me­ling berekenen

De for-each Java-methode maakt het eenvoudig om re­ken­kun­di­ge be­wer­kin­gen uit te voeren, zoals het optellen van de elementen in een array of lijst. Ope­ra­to­ren worden gekoppeld aan de variabele die als plaats­hou­der dient voor elk element binnen het codeblok van de lus.

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

De getallen van de array worden ach­ter­een­vol­gens opgeteld bij de variabele sum, die eerder buiten de lus werd ge­de­cla­reerd. De uitvoer is:

Result = 42
Java
Ga naar hoofdmenu