Sintaxis de Java for loop: “for (T obj: objects)”

Encontré una syntax de Java que no había visto antes. Me preguntaba si alguien podría decirme qué está pasando aquí.

for (ObjectType objectName : collectionName.getObjects()) 

Se llama statement for cada uno o mejorada. Ver el JLS §14.14.2 .

Es el azúcar sintáctico proporcionado por el comstackdor para iterar sobre arreglos y matrices Iterable . Las siguientes son formas equivalentes de iterar sobre una lista:

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

y estas son dos formas equivalentes de iterar sobre una matriz:

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

Otras lecturas

  • ¿Cómo se genera el código de bucle de Java generado por el comstackdor?
  • El ciclo For-Each

La variable objectSummary contiene el objeto actual de tipo S3ObjectSummary devuelto por objectListing.getObjectSummaries () e itera sobre la colección.

Aquí hay un ejemplo de este bucle mejorado para Java Tutorials

 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); } } } 

En este ejemplo, el elemento variable contiene el valor actual de la matriz de números.

La salida es la siguiente:

 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 

Espero que esto ayude !

sí … Esto es para cada ciclo en java.

En general, este ciclo se vuelve útil cuando está recuperando datos u objetos de la base de datos.

Syntex:

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

Ejemplo:

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

Esto es para cada ciclo.

será incremental de forma automática. uno a uno desde la recostackción hasta los datos del objeto USer se ha llenado. y trabajando.

Esa es la syntax de cada bucle. Está pasando por cada objeto en la colección devuelta por objectListing.getObjectSummaries() .

para cada S3ObjecrSummary en objectListing.getObjectSummaries ()

está recorriendo cada elemento de la colección

Sí, se llama bucle for-each. Los objetos en el collectionName se asignarán uno después del primero desde el comienzo de esa colección, a la referencia del objeto creado, ‘objectName’. Por lo tanto, en cada iteración del ciclo, al ‘objectName’ se le asignará un objeto de la colección ‘collectionName’. El ciclo terminará una vez cuando todos los elementos (objetos) de la colección ‘collectionName’ hayan terminado de asignarse o simplemente los objetos para obtener hayan terminado.

for (ObjectType objectName: collectionName.getObjects ()) {// loop body> // Aquí puede usar el ‘objectName’ según sea necesario y diferentes objetos serán representados por él en cada iteración. }

 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); } }