Wie genau funktioniert die „for each“-Schleife in Java? Detaillierte Erklärung mit Beispielen
Hallo zusammen! Ich habe gerade angefangen, Java zu lernen, und bin auf die for each-Schleife gestoßen. Ich verstehe zwar ungefähr, wie man sie verwendet, aber ich möchte die Details verstehen: Wie genau funktioniert sie „unter der Haube“? \n\nZum Beispiel habe ich diesen Code:\n\n```java\nString[] fruits = {"Apple", "Banana", "Cherry"};\nfor (String fruit : fruits) {\n System.out.println(fruit);\n}\n```\n\nIch sehe, dass er einfach jedes Element des Arrays ausgibt. Aber mich interessieren mehrere Punkte:\n\n1. Ist das nur syntaktischer Zucker über einer normalen for-Schleife mit Index? Oder steckt etwas anderes dahinter?\n2. Was passiert, wenn ich versuche, die Variable fruit innerhalb der Schleife zu ändern? Ändert sich dann das Element des Arrays?\n3. Kann man for each mit beliebigen Collections (ArrayList, HashSet usw.) verwenden oder nur mit Arrays?\n4. Gibt es einen Leistungsunterschied zwischen for each und einer normalen for-Schleife?\n5. Was mache ich, wenn ich den Index des Elements innerhalb der Schleife benötige? Muss ich dann eine separate Variable einführen?\n\nIch wäre dankbar für eine detaillierte Erklärung mit Codebeispielen. Vielen Dank im Voraus.