web-dev-qa-db-fra.com

Java pour la syntaxe de la boucle: "pour (T obj: objets)"

Je suis tombé sur une syntaxe Java que je n’avais jamais vue auparavant. Je me demandais si quelqu'un pourrait me dire ce qui se passe ici.

for (ObjectType objectName : collectionName.getObjects())
49
locoboy

Il s’appelle une instruction pour-each ou améliorée for. Voir le JLS §14.14.2 .

C'est sucre syntaxique fourni par le compilateur pour une itération sur Iterable s et tableaux. Voici des méthodes équivalentes pour parcourir une liste:

List<Foo> foos = ...;
for (Foo foo : foos)
{
    foo.bar();
}

// equivalent to:
List<Foo> foos = ...;
for (Iterator<Foo> iter = foos.iterator(); iter.hasNext();)
{
    Foo foo = iter.next();
    foo.bar();
}

et ce sont deux manières équivalentes de parcourir un tableau:

int[] nums = ...;
for (int num : nums)
{
    System.out.println(num);
}

// equivalent to:
int[] nums = ...;
for (int i=0; i<nums.length; i++)
{
    int num = nums[i];
    System.out.println(num);
}

Lectures complémentaires

98
Matt Ball

La variable objectSummary contient l'objet actuel de type S3ObjectSummary renvoyé par le objectListing.getObjectSummaries () et parcourez la collection.

Voici un exemple de ceci amélioré pour la boucle de tutoriels Java

class EnhancedForDemo {
 public static void main(String[] args){
      int[] numbers = {1,2,3,4,5,6,7,8,9,10};
      for (int item : numbers) {
        System.out.println("Count is: " + item);
      }
 }
}

Dans cet exemple, l'élément de variable contient la valeur actuelle du tableau de nombres.

La sortie est la suivante:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10

J'espère que cela t'aides !

5
HashimR

oui ... Ceci est pour chaque boucle en Java.

Généralement, cette boucle devient utile lorsque vous récupérez des données ou des objets de la base de données.

Syntex:

for(Object obj : Collection obj)
{
     //Code enter code here
}

Exemple :

for(User user : userList)
{
     System.out.println("USer NAme :" + user.name);
   // etc etc
}

Ceci est pour chaque boucle.

il sera incrémental automatiquement. une par une, de la collection à l'utilisateur, les données de l'objet ont été renseignées. Et travaillant.

4
Pradip Bhatt

C'est la syntaxe pour chaque boucle. Il parcourt chaque objet de la collection renvoyée par objectListing.getObjectSummaries().

2
Joshua Rodgers

pour chaque S3ObjecrSummary dans objectListing.getObjectSummaries ()

il passe en boucle dans chaque élément de la collection

2
Joe

Oui, c'est ce qu'on appelle la boucle for-each. Les objets de collectionName seront affectés un par un, depuis le début de cette collection, à la référence d'objet créée, 'objectName'. Ainsi, à chaque itération de la boucle, un objet de la collection 'collectionName' sera attribué à l'objet 'Nom de l'objet'. La boucle se terminera une fois que tous les éléments (objets) de la collection 'collectionName' auront été assignés ou simplement que les objets à récupérer seront terminés.

for (ObjectType objectName: collectionName.getObjects ()) {// corps de la boucle> // Vous pouvez utiliser le 'objectName' ici si besoin est et différents objets seront // représentés par celui-ci à chaque itération. }

1
Samitha Chathuranga
public class ForEachLoopExample {

    public static void main(String[] args) {

        System.out.println("For Each Loop Example: ");

        int[] intArray = { 1,2,3,4,5 };

        //Here iteration starts from index 0 to last index
        for(int i : intArray)
            System.out.println(i);
    }

}
1
Sidarth