Dienstag, 17. November 2015
Java-for Schleife wie in Python
Python arbeitet mit Sequenzen. Manchmal ist es praktisch, wenn man eine Sequenz direkt bei der
for
-Schleife hin schreiben kann. Ein Beispiel:
for i in [1, 3, 2, 5, 10, -3]: print(i, end=" ") print()In Java ist das ganz ähnlich möglich. Hier ein zwei Varianten:
class T { // helper method public static int[] list(int... values) { return values; } public static void main(String[] args) { // use helper to generate array for (int i : list(1, 3, 2, 5, 10, -3)) { System.out.printf("%d ", i); } System.out.println(); // use locally defined array for (int i : new int[] { 1, 3, 2, 5, 10, -3 }) { System.out.printf("%d ", i); } System.out.println(); } }Die Ausgabe sind dann die Zahlen in der Liste:
1 3 2 5 10 -3 1 3 2 5 10 -3
Die Hilfsmethode helper()
nützt das Java-Feature der variablen Parameterliste, die dann in eine Sequenz (Array) umgewandelt wird.
Die zweite Variante verwendet die Initialisierung von Arrays.
Auch mit beliebigen Objekten ist das Prinzip machbar:
for o in [1, "a", 23.3, "hallo", 3]: print(o, end=" ") print()
public class ListsInForLoop { // helper public static Object[] olist(Object... objects) { return objects; } public static void main(String[] args) { // different kinds of Objects for (Object o : olist(1, "a", 23.3, "hallo", 3)) { System.out.print(o); System.out.print(" "); } System.out.println(); // use locally defined Object array for (Object o : new Object[] { 1, "a", 23.3, "hallo", 3 }) { System.out.print(o); System.out.print(" "); } System.out.println(); } }Die Ausgabe ist dann so:
1 a 23.3 hallo 3 1 a 23.3 hallo 3
Labels: Java
Abonnieren Posts [Atom]
Kommentar veröffentlichen