Exemples de flux Java

Exemples de flux Java

Java Stream est une fonctionnalité très utile de la programmation Java. Ce n'est pas une structure de données et il ne peut pas stocker ou modifier les données comme les flux d'E / S Java. Il est utilisé pour travailler sur n'importe quelle source de données telle qu'un tableau, une collecte, un canal d'E / S, etc. Les données d'une structure de données peuvent être récupérées, collectées ou modifiées à une autre structure de données à l'aide de Java Stream. Le «Java.user.Le package Stream »est nécessaire pour utiliser le flux Java dans le code. Différentes utilisations du flux Java dans les programmes Java sont présentées dans ce tutoriel.

Conditions préalables:

  1. Installez la dernière version d'OpenJDK avec JRE.
  2. Installez n'importe quel éditeur utile pour écrire et exécuter le code Java. Vous pouvez consulter ce tutoriel pour installer l'éditeur Eclipse.

Exemples de flux Java

La création de flux à partir de différentes structures de données et le filtrage des données du flux sont affichées dans cette partie du tutoriel à l'aide de plusieurs exemples.

Exemple 1: Création d'un objet Stream à partir des tableaux

Créez un fichier Java avec le code suivant pour générer le flux avec plusieurs valeurs, avec tous les éléments du tableau et avec un nombre particulier de valeurs de tableau. Le premier flux est généré à partir de trois valeurs de chaîne. Le deuxième flux est généré à partir d'un tableau de quatre valeurs. Le troisième flux est généré en coupant les trois premiers éléments du tableau.

// importe des modules nécessaires
Importer Java.user.Tableaux;
Importer Java.user.flux.Flux;
classe publique JavastreRemexample
public static void main (String [] args)
// déclare un flux d'un tableau
Flux Stream1 = Stream.de ("objet", "-orient", "programmation");
// imprime toutes les valeurs du flux
Stream1.foreach (système.Out :: imprimer);
// Ajouter une nouvelle ligne
Système.dehors.println ();
// déclare un tableau de quatre valeurs de chaîne
String [] Strarr = new String [] "Learn", "Java", "Programming", "Language";
// Créer un flux à partir d'un tableau de valeurs
Flux Stream2 = tableaux.Stream (Strarr);
// imprime toutes les valeurs du flux
Stream2.foreach (système.Out :: imprimer);
// Ajouter une nouvelle ligne
Système.dehors.println ();
// Créez un flux avec quelques éléments du tableau
Flux Stream3 = tableaux.Stream (Strarr, 0, 3);
flux3.foreach (système.Out :: imprimer);

La sortie suivante apparaît après avoir exécuté le code précédent. Trois valeurs du premier flux sont imprimées dans la première sortie. Toutes les valeurs du tableau sont imprimées dans la deuxième sortie après les avoir converties en flux. Les trois premiers éléments du tableau sont convertis en données de flux et sont imprimés dans la troisième sortie.

Exemple 2: Création de flux à partir de collections

Créez un fichier Java avec le code suivant pour générer le flux à partir des objets «List», «Set» et «Collection». Un objet «liste» de trois éléments est défini dans le code converti en flux et imprimé plus tard. Ensuite, un objet «set» est généré à partir de la «liste» précédemment définie. Le «set» est converti en flux et est imprimé plus tard. Ensuite, un objet «collection» de trois éléments est généré et converti en flux et est imprimé plus tard.

// importe des modules nécessaires
Importer Java.user.flux.Flux;
Importer Java.user.Tableaux;
Importer Java.user.Liste;
Importer Java.user.Ensemble;
Importer Java.user.Collection;
Importer Java.user.Hashset;
classe publique javastreamExample2
public static void main (String [] args)
Liste liste = tableaux.aslist ("Linux", "Indice", ".com ");
// Créer un flux à partir d'une liste
Flux streamArray = liste.flux();
strewarray.foreach (système.Out :: imprimer);
Système.dehors.println ();
// Créer un flux à partir d'un ensemble
Ensemble set = new HashSet (liste);
Flux streamset = set.flux();
ruissellement.foreach (système.Out :: imprimer);
Système.dehors.println ();
// Créer un flux à partir d'une collection
Collection Collection = tableaux.aslist ("apprendre", "java", "stream");
Flux StreamCollection = Collection.flux();
streamcollection.foreach (système.out :: println);

La sortie suivante apparaît après avoir exécuté le code précédent. Trois valeurs des premier et deuxième flux sont concaténées et imprimées dans la première et deuxième sortie pour l'utilisation de la méthode print (). Chaque valeur du troisième flux est imprimée avec une nouvelle ligne dans la troisième sortie pour l'utilisation de la méthode println ().

Exemple 3: filtrage et itération de la collection

Dans les exemples précédents, une seule liste de données est utilisée dans le flux. Mais si vous devez utiliser plusieurs listes de données dans le flux, vous devez créer une classe pour définir la structure des données de liste. Ici, une classe nommée «Employés» est déclarée avec un constructeur qui contient quatre variables pour stocker un identifiant, un nom, un poste et un salaire d'identité d'un employé.

Employés de classe publique
// Déclarer les variables de classe
public int id;
nom de chaîne publique;
Publier de chaîne publique;
Salaire public int;
// Déclarer le constructeur
employés publics (int a, string b, string c, int d)

id = a;
name = b;
Post = C;
salaire = d;

Créez un fichier Java avec le code suivant pour générer le flux à partir de l'arrayList. Ensuite, les quatre enregistrements de l'employé sont ajoutés à la liste Array. La liste des employés qui ont un salaire de plus de 60000 $ sont filtrées à l'aide de la méthode Filter () du flux et sont imprimées dans la sortie.

// importe des modules nécessaires
Importer Java.user.Liste;
Importer Java.user.*
classe publique javastreamExample3
public static void main (String [] args)
// Créer une liste d'employés basée sur la classe des employés
Liste < Employees > Emplist = New ArrayList < Employees > ();
// insérer 4 enregistrements dans la liste
mineur.Add (nouveaux employés (1, "Mir Sabbir", "Manager", 60000));
mineur.Ajouter (de nouveaux employés (2, "Menhaz Kazi", "Assistant Manager", 50000));
mineur.Ajouter (nouveaux employés (3, "Rupa Chowdhury", "PDG", 100000));
mineur.Ajouter (Nouveaux employés (4, "Naznin Akter", "comptable", 75000));
//
Système.dehors.println ("salaire plus de 60000 $");
Système.dehors.println ("--------------------------");
// Filtrez les données à l'aide de Java Stream
mineur.flux().Filtre (employés -> employés.Salaire> 60000)
.foreach (employés -> système.dehors.println ("nom:" + employés.nom + "\ nsalary: $" + employés.salaire + "\ n"));

La sortie suivante apparaît après avoir exécuté le code précédent. Deux enregistrements existent dans l'arraylist qui correspond aux critères de recherche et qui sont imprimés dans la sortie. Ici, le salaire de «Rupa Chowdhury» et «Naznin Akter» sont de 100 000 $ et 75 000 $, ce qui représente plus de 60000 $.

Conclusion

Le flux peut être utilisé à plusieurs fins dans la programmation Java. Certaines utilisations simples du flux générées à partir du tableau et de la collection sont présentées dans ce tutoriel pour aider les utilisateurs de Java à connaître la méthode d'utilisation du flux dans leur code.