© Monstar Studio/Shutterstock.com
Aujourd’hui, nous examinons la boucle For-Each de Java, une extension de la boucle For classique. Ces boucles ont été ajoutées à Java5 en 2004 et sont aujourd’hui un outil essentiel lorsque vous travaillez avec des tableaux et des collections.
Le plan est de vous enseigner les principes fondamentaux, ce qui implique de comprendre la logique derrière les boucles For-Each ainsi que leur syntaxe. Il s’agit d’un outil que vous pouvez utiliser dans presque tous les projets pour donner à vos programmes un puissant coup de pouce en termes de fonctionnalité et d’efficacité.
Quoi sont des boucles For-Each ?
La fonction principale de la boucle For-Each est de gérer les tableaux. L’idée est que cette boucle vous donne le pouvoir de parcourir les éléments d’un tableau ou d’une collection.
Chaque élément est prêt à être modifié dans la fonctionnalité du corps de la boucle. Ensuite, le retour sera un nouveau tableau. Vous pouvez appliquer n’importe quelle logique à l’intérieur de la boucle For-Each. Cela signifie que le retour sur investissement de cet outil est hors du commun : vous pouvez l’appliquer à pratiquement n’importe quel tableau auquel vous pouvez penser.
Imaginez que vous travaillez avec une liste de noms, d’adresses e-mail, de lieux ou toute longue base de données. Maintenant, imaginez que vous puissiez le préparer pour d’autres opérations avec une simple commande. Exactement.
Maintenant, voyons comment créer et appliquer des boucles For-Each.
Exemples de code
La syntaxe des boucles For-Each est claire et facile à comprendre si vous êtes familier avec Java.
for (type var: array) { instructions utilisant var; }
Nous commençons par le mot-clé For suivi de la déclaration du tableau que nous voulons itérer. Ensuite, nous déclarons toute logique que nous voulons appliquer (entre les accolades).
Écrivons maintenant un programme utilisant ces concepts.
class First { public static void main(String[] args) { tableau int[]={1,2,3,4,5} ; for (élément int: tableau) System.out.print(element +””); } }//Sortie//1 2 3 4 5
Dans l’exemple ci-dessus, nous avons d’abord établi un tableau avec certains éléments afin de pouvoir les traiter. Après cela, nous avons déclaré la boucle For-Each réelle.
Il est essentiel de déclarer le type de tableau auquel nous appliquons la boucle For-Each, car cela évite généralement les erreurs et les bugs.
Enfin, la boucle renverra chaque élément à chaque itération, comme indiqué dans la section de sortie.
Tous les programmeurs aiment l’efficacité. Eh bien, l’un des avantages des boucles For-Each est qu’elles évitent les étapes supplémentaires nécessaires pour déclarer la logique d’une boucle For normale. Voyons cela dans un exemple réel :
//Syntaxe de la boucle For for (int i=0; i
Les deux méthodes nous donnent le même résultat, mais la boucle For-Each est clairement gagnante. La logique est beaucoup plus propre et facile à comprendre, rendant ses fonctionnalités plus accessibles aux nouveaux programmeurs.
Cependant, même si les boucles For-Each semblent plus propres, il y a certaines choses qu’elles ne peuvent pas faire. profondeur.
Inconvénients des boucles For-Each
Le premier problème avec les boucles For-Each est qu’elles ne peuvent pas modifier le tableau d’origine. Ce n’est pas un problème lorsque vous travaillez avec des programmes dynamiques qui doit sauvegarder l’état initial. Mais il peut y avoir des situations où une boucle For classique serait un meilleur choix. Voyons ceci dans le code :
for (int: marks) { num=num*2; }//the tableau d’origine reste le même
Malheureusement, les boucles For-Each ne peuvent pas suivre l’index dans un tableau. Par conséquent, nous ne pouvons utiliser aucune logique impliquant l’obtention de l’index d’un élément.
for ( int num: nombres) { si ( num==cible) { return ???;//l’index est introuvable } }
Les boucles For-Each ne peuvent pas parcourir un tableau en arrière. De plus, les boucles imbriquées et les booléens sont d’autres domaines où une boucle For-Each peut ne pas être une bonne idée.
Pourquoi utiliser des boucles For-Each ?
Comme son nom l’indique, cette boucle extrait chaque élément d’une collection ou d’un tableau. Cela nous permet de traiter de grandes bases de données avec facilité et efficacité.
L’itération des données est une tâche quotidienne pour les programmeurs, donc tout outil que nous pouvons ajouter à notre ensemble de compétences qui y contribuera doit être accueilli à bras ouverts.
Avec les boucles For-Each, les avantages d’un code plus propre et facile à comprendre valent l’absence de certaines fonctionnalités, telles que la modification de tableaux. Vous pouvez toujours utiliser la boucle For classique si vous avez besoin de cette fonctionnalité particulière. Alors ne vous inquiétez pas si vous ne pouvez pas toujours appliquer le code le plus facile à écrire, mais gardez-le à l’esprit pour les situations où cela pourrait vous faire économiser des heures de travail !
Explorons d’autres fonctionnalités de For-Chaque boucle. Cela vous donnera une idée de ce qu’il peut faire en combinaison avec d’autres outils.
Disons que nous avons une collection de tableaux contenant des données. Notre objectif sera d’aplatir ces données dans un seul tableau avec la boucle For-Each. Regardez ceci :
//flux de tableaux Entrée : arr[][]={{1,2,3},{4,5,6},{7,8,9}} Sortie : [1 , 2, 3, 4, 5, 6, 7, 8, 9]
Comme vous pouvez le voir dans le code, nous avons un flux de tableaux prêts à être traités. Chaque tableau contient une série de nombres. Le code que nous allons écrire inclura d’autres méthodes Java, alors profitez-en pour tester votre compréhension de ce langage de codage !
Voyons comment fonctionne chaque segment de code.
class exmpl {//Fonction principale public static Stream flattenStream(T[][] arrays) { List list=new ArrayList>(); for (T[] array: arrays) { Arrays.stream(array).forEach(list::add); } return list.stream(); } public static void main(String[] args) { Entier [][] arr={ {1,2,3}, {4,5,6}, {7,8,9} } ; Integer[] flatArray=flattenStream(arr).toArray(Integer[]::new); System.out.println(Arrays.toString(flatArray)); } }
Tout d’abord, nous avons établi une fonction qui contient tout le reste et déclaré une liste pour collecter les éléments.
L’étape suivante consiste à utiliser la boucle For-Each combinée à la méthode stream(). Étant donné la liste des nombres, chaque élément est maintenant un flux de la liste. Le retour final, en dehors de la boucle For-Each, est la liste convertie en un seul flux d’informations.
Lorsque le flux est prêt, il est temps d’aplatir le tableau. Nous déclarons chaque nombre, puis nous appelons la fonction que nous avons précédemment codée sur chacun. Cette fonction prend les données et renvoie tout dans un seul tableau.
Ce n’est qu’un minuscule exemple de la façon dont ces outils fondamentaux vous permettent de gérer les données en tant que programmeur. Avec eux, vous pouvez jouer avec les informations et trouver de nouvelles façons de rendre votre code plus efficace et plus facile à déboguer.
Conclusion : Comment utiliser la boucle For-Each en Java
For-Chaque boucle est le moyen le plus simple d’itérer dans un tableau ou une collection. Les éléments collectés dans le tableau choisi sont traités avec toutes les fonctionnalités souhaitées. De plus, ce traitement peut être effectué en utilisant une combinaison de plusieurs méthodes et fonctions.
N’oubliez pas que ces boucles manquent de certaines fonctionnalités. Principalement, ils ne prennent pas en charge l’itération vers l’arrière, l’imbrication de boucles et le suivi d’index. Utilisez toujours une boucle For classique pour éviter les bogues si vous avez besoin de l’une de ces fonctionnalités.
Néanmoins, les possibilités de développement sont illimitées lorsque vous combinez la boucle For-Each avec d’autres méthodes, telles que stream(). C’est ce que nous voulons vous laisser. Cherchez toujours de nouvelles façons d’élargir votre horizon en tant que programmeur et ne vous contentez jamais d’un seul ensemble d’outils.
Nous vous recommandons de consulter la documentation officielle de Java pour plus d’informations.
Comment utiliser la boucle For-Each dans la FAQ Java (Foire aux questions)
Quand Java a-t-il été développé ?
Java a été sorti en mai 1995 et développé par James Gosling chez Sun Microsystem. C’est l’un des langages de programmation orientés objet les plus populaires, avec 9 millions d’utilisateurs quotidiens réguliers.
Comment installer Java ?
Pour installer Java , vous devez visiter la section de téléchargement sur le site Web de Java, puis choisir le programme d’installation adapté à votre système. C’est gratuit! Java est disponible pour Windows, Mac, Linux et Solaris.
Qu’est-ce qu’une boucle For classique ?
Une boucle For est une méthode d’itération construite avec une condition et un corps. Il permet à l’utilisateur d’exécuter une section de code à plusieurs reprises jusqu’à ce que la condition soit atteinte. Une boucle For est une alternative aux boucles While, utilisée lorsque le nombre d’itérations nécessaires est fixe.
Comment fonctionne la boucle Java For-Each ?
Les boucles For-Each fonctionnent de manière très similaire à une boucle For classique. Lorsqu’il est utilisé, le retour est le même avec les deux instructions, mais avec les boucles For-Each, la syntaxe est beaucoup plus accessible.
Puis-je utiliser des boucles For-Each avec des fonctions basées sur des index ?
Malheureusement, non. La boucle For-Each ne peut pas suivre la position de l’index dans un tableau. Heureusement, la boucle For classique vous permet d’utiliser cette logique sans erreur.