Le site Java for each-Schleife (auch bekannt als erweiterte for-Schleife) ist eine vereinfachte Version einer for-Schleife. Der Vorteil ist, dass weniger Code geschrieben werden muss und weniger Variablen zu verwalten sind. Der Nachteil ist, dass Sie keine Kontrolle über den Schrittwert und keinen Zugriff auf den Schleifenindex innerhalb des Schleifenkörpers haben.
Sie werden am besten verwendet, wenn der Schrittwert eine einfache Erhöhung um 1 ist und wenn Sie nur Zugriff auf das aktuelle Schleifenelement benötigen. Zum Beispiel, wenn Sie eine Schleife über jedes Element in einem Array oder einer Sammlung machen müssen, ohne vor oder hinter das aktuelle Element zu schauen.
Es gibt keine Schleifeninitialisierung, keine boolesche Bedingung und der Schrittwert ist implizit und ein einfaches Inkrement. Aus diesem Grund werden sie als viel einfacher angesehen als normale for-Schleifen.
Erweiterte for-Schleifen folgen dieser Reihenfolge der Ausführung:
1) Schlaufenkörper
2) Wiederholung von Schritt 1, bis das gesamte Array oder die gesamte Sammlung durchlaufen wurde
Beispiel - Integer-Array
int [] intArray = {1, 3, 5, 7, 9};
for(int currentValue : intArray) {
System.out.println(currentValue);
}
Die Variable currentValue enthält den aktuellen Wert, über den im Array intArray geschleift wird. Beachten Sie, dass es keinen expliziten Schrittwert gibt - es handelt sich immer um eine Erhöhung um 1.
Der Doppelpunkt kann als "in" verstanden werden. Die erweiterte for-Schleifendeklaration besagt also: Schleife über intArray und Speichern des aktuellen int-Wertes des Arrays in die Variable currentValue.
出力します。
1
3
5
7
9
Beispiel - String-Array
Wir können die for-each-Schleife verwenden, um über ein Array von Zeichenketten zu iterieren. Die Schleifendeklaration lautet: Schleife über myStrings String-Array und Speichern des aktuellen String-Werts in die Variable currentString.
String [] myStrings = {
"alpha",
"beta",
"gamma",
"delta"
};
for(String currentString : myStrings) {
System.out.println(currentString);
}
出力します。
alpha
beta
gamma
delta
Beispiel - Liste
Die erweiterte for-Schleife kann auch zur Iteration über eine java.util.List wie folgt verwendet werden:
List<String> myList = new ArrayList<String>();
myList.add("alpha");
myList.add("beta");
myList.add("gamma");
myList.add("delta");
for(String currentItem : myList) {
System.out.println(currentItem);
}
Die Schleifendeklaration besagt: Schleife über myList Liste von Strings und Speichern des aktuellen Listenwertes in die Variable currentItem.
出力します。
alpha
beta
gamma
delta
Beispiel - Setzen
Die erweiterte for-Schleife kann auch zur Iteration über ein java.util.Set wie folgt verwendet werden:
Set<String> mySet = new HashSet<String>();
mySet.add("alpha");
mySet.add("alpha");
mySet.add("beta");
mySet.add("gamma");
mySet.add("gamma");
mySet.add("delta");
for(String currentItem : mySet) {
System.out.println(currentItem);
}
Die Schleifendeklaration lautet: Schleife über mySet Set of Strings und Speichern des aktuellen Set-Wertes in die Variable currentItem. Da es sich um ein Set handelt, werden doppelte String-Werte nicht gespeichert.
出力します。
alpha
delta
beta
gamma
Quelle: Schleifen in Java - Ultimativer Leitfaden