Java for Schleife Syntax: “für (T obj: Objekte)”

Ich stieß auf eine JavaSyntax, die ich vorher nicht gesehen habe. Ich habe mich gefragt, ob mir jemand sagen könnte, was hier vor sich geht.

for (ObjectType objectName : collectionName.getObjects()) 

Es heißt For-Each oder Enhanced for Statement. Siehe JLS §14.14.2 .

Es ist syntaktischer Zucker, der vom Compiler zum Iterieren über Iterable s und Arrays bereitgestellt wird. Die folgenden Methoden sind äquivalent zur Iteration über eine Liste:

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

und dies sind zwei gleichwertige Möglichkeiten, um über ein Array zu iterieren:

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

Weiterführende Literatur

  • Wie wird der Java-for-Schleifencode vom Compiler generiert?
  • Die für jede Schleife

Die Variable objectSummary enthält das aktuelle Objekt vom Typ S3ObjectSummary, das von objectListing.getObjectSummaries () zurückgegeben wird und über die Auflistung iteriert.

Hier ist ein Beispiel für diese erweiterte for-Schleife aus 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); } } } 

In diesem Beispiel enthält das Variablenelement den aktuellen Wert aus dem Nummernfeld.

Die Ausgabe ist wie folgt:

 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 

Hoffe das hilft !

Ja … Das ist für jede Schleife in Java.

Im Allgemeinen wird diese Schleife nützlich, wenn Sie Daten oder Objekte aus der database abrufen.

Syntex:

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

Beispiel:

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

Dies ist für jede Schleife.

es wird von automatisch inkrementell. Eins nach dem anderen von Sammlung zu USer Objektdaten wurde gefüllt. und Arbeiten.

Das ist die Syntax für jede Schleife. Es durchläuft jedes Objekt in der von objectListing.getObjectSummaries() zurückgegebenen objectListing.getObjectSummaries() .

für jede S3ObjecrSummary in objectListing.getObjectSummaries ()

Es durchläuft jedes Element in der Sammlung

Ja, es heißt die for-each-Schleife. Objekte im collectionName werden nach dem Anfang der Sammlung dem erstellten Objektverweis ‘objectName’ zugeordnet. In jeder Iteration der Schleife wird also dem ‘ObjektName’ ein Objekt aus der Sammlung ‘SammlungName’ zugewiesen. Die Schleife wird einmal beendet, wenn alle Objekte (Objekte) der Sammlung ‘SammlungName’ abgeschlossen wurden oder einfach die Objekte, die abgerufen werden sollen, vorüber sind.

for (ObjectType objectName: collectionName.getObjects ()) {// loop body> // Sie können den ‘objectName’ hier nach Bedarf verwenden, und verschiedene Objekte // werden bei jeder Iteration erneut dargestellt. }

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