Boucles foreach en java

Fermé
va - 30 sept. 2018 à 22:52
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 1 oct. 2018 à 13:27
Bonjour,
Quels sont les avantages et inconvénients de la boucles foreach en java ?


A voir également:

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
30 sept. 2018 à 23:55
Bonjour

Avantages et inconvénients...par rapport à quoi d'autre ???
0
De la boucle foreach en java
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
1 oct. 2018 à 06:51
Avantage et inconvénients est une notion de comparaison...
Donc foreach... par rapport à quoi d'autre ???
0
Par rapport a la boucle For
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
1 oct. 2018 à 09:10
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 oct. 2018 à 13:27
Bonjour,

Liste non-exhaustive :
 

Ni avantage, ni inconvénient

  • La boucle foreach s'utilise sur un ensemble de données (tableau ou classe implémentant Iterable), mais si on veut faire autre chose que du traitement de données (ex: compter la somme des chiffres allant de 1 à 100), alors la boucle foreach ne sert à rien.

Avantages

  • La syntaxe du foreach est plus légère, plus rapide à écrire et sans risque d'erreur.
  • La boucle foreach a la même écriture pour tous les types de données qu'elle manipule, on peut donc modifier l'ensemble de données (tableau, List, Set...) sans avoir à réécrire la boucle. Contrairement à la boucle for qui nécessiterait de réécrire l'accès à la données (array[i], list.get(i), etc.)
  • La boucle foreach utilise les itérateurs pour passer d'un élément au suivant, alors que la boucle for fait ses accès (array[i], list.get(i), etc.) sans prendre en compte la dernière valeur lue.

Inconvénients

  • On n'a pas accès à l'indice en cours, il faut le compter soit même si on en a besoin.
  • La liste est toujours itérée du début à la fin, on ne peut pas itérer à l'envers, ou sauter des éléments.
  • La boucle foreach ne prends pas en compte l'interface RandomAccess, elle utilise toujours l'itérateur quand bien même l'accès direct serait plus efficace.
0