Avatar ·

Comment fonctionne exactement la boucle « for each » en Java ? Explication détaillée avec exemples

Bonjour à tous ! Je viens de commencer à apprendre Java et je suis tombé sur la boucle for each. Je comprends à peu près comment l'utiliser, mais je veux comprendre les détails : comment fonctionne-t-elle « sous le capot » ? Par exemple, j'ai ce code : ```java String[] fruits = {"Apple", "Banana", "Cherry"}; for (String fruit : fruits) { System.out.println(fruit); } ``` Je vois qu'il affiche simplement chaque élément du tableau. Mais plusieurs points m'intéressent : 1. Est-ce juste du sucre syntaxique par rapport à une boucle for classique avec index ? Ou y a-t-il autre chose ? 2. Que se passe-t-il si j'essaie de modifier la variable fruit à l'intérieur de la boucle ? L'élément du tableau sera-t-il modifié ? 3. Peut-on utiliser for each avec n'importe quelle collection (ArrayList, HashSet, etc.) ou seulement avec les tableaux ? 4. Y a-t-il une différence de performance entre for each et for classique ? 5. Que faire si j'ai besoin de l'index de l'élément à l'intérieur de la boucle ? Dois-je créer une variable séparée ? Je serais reconnaissant pour une explication détaillée avec des exemples de code. Merci d'avance.