Accueil Finances personnelles En utilisant Streams et Lambda Expressions en Java - dummies

En utilisant Streams et Lambda Expressions en Java - dummies

Vidéo: Java 8 Streams Tutorial 2025

Vidéo: Java 8 Streams Tutorial 2025
Anonim

Java a des méthodes sophistiquées qui optimisent l'utilisation des flux et des expressions lambda. Avec les flux et les expressions lambda, vous pouvez créer une ligne d'assemblage. La solution de ligne d'assemblage utilise des concepts issus de la programmation fonctionnelle.

La chaîne de montage est composée de plusieurs méthodes. Chaque méthode prend les données, transforme les données d'une manière ou d'une autre et remet ses résultats à la méthode suivante en ligne. Voici une chaîne de montage.

Une ligne d'assemblage de programmation fonctionnelle.

Chaque boîte représente un tas de matières premières transformées le long d'une ligne d'assemblage. Chaque flèche représente une méthode (ou, métaphoriquement, un travailleur sur la chaîne de montage).

Par exemple, lors du passage de la deuxième case à la troisième, une méthode worker (la méthode filter ) filtre les ventes d'éléments qui ne sont pas des DVD. Imaginez Lucy Ricardo debout entre les deuxième et troisième boîtes, retirant chaque livre ou CD de la chaîne de montage et le jetant négligemment sur le sol.

Le paramètre de la méthode filter de Java est Predicate - une expression lambda dont le résultat est boolean . La méthode filter filtre les éléments qui ne réussissent pas le test true / false de l'expression lambda.

Méthodes de programmation fonctionnelle
Nom de la méthode Membre de Paramètre (s) Type de résultat Valeur de résultat
flux Collection (par exemple, ArrayList , objet) (aucun) Flux Un flux qui recrache des éléments de la collection
filtre Flux Prédicat Flux > Un nouveau flux contenant des valeurs pour lesquelles l'expression lambda renvoie true map
Stream Function Stream Un nouveau flux contenant les résultats de l'application de l'expression lambda au flux entrant réduire
Flux BinaryOperator Le type utilisé par le BinaryOperator Le résultat de la combinaison de toutes les valeurs dans le flux entrant
Lors du passage de la troisième boîte à la quatrième, une méthode de travail (méthode

map ) extrait le prix de chaque vente . À partir de cet endroit, la ligne d'assemblage ne contient que prix . Pour être plus précis, la méthode Java

map prend une Fonction telle que (sale) -> sale. getPrice ()

et applique la

Function à chaque valeur d'un flux. Ainsi, la méthode map prend un flux entrant d'objets sale et crée un flux sortant de valeurs price . Lors du passage de la quatrième case à la cinquième case, une méthode de travail (méthode

réduire ) ajoute le prix des ventes de DVD.La méthode Java reduce prend deux paramètres: Le premier paramètre est une valeur initiale.

Dans l'image ci-dessus, la valeur initiale est

0. 0 . Le second paramètre est un

. Dans l'image ci-dessus, réduire la méthode BinaryOperator est (prix1, prix2) -> prix1 + prix2

La méthode

réduire utilise son BinaryOperator pour combiner les valeurs du flux entrant. La valeur initiale sert de point de départ pour toute la combinaison. Donc, la méthode réduire fait deux ajouts. La méthode reduce ajoute deux valeurs à un flux entrant.

Pour comparer, imaginez que l'appel de la méthode

réduise (10.0, (value1, value2) -> value1 * value2)

avec le flux dont les valeurs incluent

3. 0 , 2. 0 et 5. 0 . L'action résultante est indiquée ci-dessous La méthode réduire multiplie les valeurs d'un flux entrant.

Vous avez peut-être entendu parler du modèle de programmation MapReduce de Google. La similarité entre le nom du modèle de programmation et les noms de méthodes Java map et reduce n'est pas une coïncidence. Pris dans leur ensemble, l'ensemble de l'assemblage augmente les prix des DVD vendus. Le code ci-dessus contient un programme complet utilisant les flux et les expressions lambda de la première image ci-dessus.

importer java. texte. Format de nombre;

importer java. util. ArrayList;

public class TallySales {

public static void principal (String [] args) {

ArrayList

sales = new ArrayList <> (); Devise NumberFormat = NombreFormat. getCurrencyInstance ();

fillTheList (ventes);

double total = ventes. stream ()

. filter ((vente) -> sale. getItem (). est égal à ("DVD"))

. map ((vente) -> vente. getPrice ())

. réduire (0.0, (prix1, prix2) -> prix1 + prix2);

Système. en dehors. println (devise, format (total));

}

static void fillTheList (ArrayList

ventes) { ventes. ajouter (nouvelle vente ("DVD", 15. 00));

ventes. ajouter (nouvelle vente ("Livre", 12. 00));

ventes. ajouter (nouvelle vente ("DVD", 21. 00));

ventes. ajouter (nouvelle vente ("CD", 5. 25));

}

}

Le code requiert Java 8 ou une version ultérieure. Si votre IDE est configuré pour une version antérieure de Java, vous devrez peut-être bricoler les paramètres de l'EDI. Vous devrez peut-être même télécharger une version plus récente de Java.

La lettre en gras est une grande déclaration d'affectation Java. Le côté droit de l'instruction contient une séquence d'appels de méthode. Chaque appel de méthode renvoie un objet, et chacun de ces objets est la chose avant le point dans l'appel de méthode suivant. C'est comme ça que vous formez la chaîne de montage.

Par exemple, près du début du code en gras, le nom

ventes fait référence à un objet ArrayList . Chaque objet ArrayList possède une méthode stream . Dans le code ci-dessus, ventes. stream () est un appel à la méthode ArrayList de l'objet stream . La méthode stream renvoie une instance de la classe Java

Stream . (Quelle surprise!) Donc ventes. stream () fait référence à un objet Stream . Obtenir toutes les ventes de DVD.

Tout objet

Flux possède une méthode filtre . Donc ventes. courant(). filter⁣ ((vente) -> vente. getItem (). equals ("DVD"))

est un appel à la méthode

objectStream de l'objet filter . Le motif continue. La méthode

map de l'objet Stream renvoie encore un autre objet Stream - un objet Stream contenant des prix.

Obtenir le prix de chaque vente de DVD.

Pour ce flux de prix, appliquez la méthode réduire , qui donne une valeur double , soit le total des prix des DVD.

Obtenir le prix total de toutes les ventes de DVD.

En utilisant Streams et Lambda Expressions en Java - dummies

Le choix des éditeurs

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Après avoir pris photos et vidéos d'événements dans votre vie avec votre caméra Flip Video, vous pouvez les envoyer par e-mail à vos amis et aux membres de votre famille. Le partage de films et d'images que vous capturez et créez en envoyant un message e-mail vous permet de toucher et de toucher quelqu'un avec vos créations, même si vous êtes à proximité ...

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Ont parfois besoin d'un réalisateur enregistrer le son en utilisant un appareil séparé de l'appareil photo, enregistrer le son séparément, puis synchroniser le son sur la vidéo plus tard, lors de l'édition. Habituellement, la raison en est d'augmenter la qualité du son enregistré car de nombreuses caméras n'enregistrent pas le son aussi bien que ...

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Enregistrant des vidéos avec votre caméra Flip est comme facile comme 1-2-3 (et 4). Avant d'enregistrer une vidéo, vérifiez les indicateurs d'état de votre Flip pour vous assurer que votre caméra est complètement chargée et qu'elle a suffisamment de temps d'enregistrement pour capturer la vidéo que vous voulez filmer. Pour vérifier le niveau de charge de la batterie de votre Flip (ou ...

Le choix des éditeurs

Mot Raccourcis des symboles 2016 - des mannequins

Mot Raccourcis des symboles 2016 - des mannequins

Dans Word 2016 vous pouvez insérer des symboles communs en utilisant ces raccourcis clavier. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tableau Ctrl + signe moins Copyright Alt + Ctrl + C Marque déposée Alt + Ctrl + R Marque Alt + Ctrl + T Ellipsis Alt + Ctrl + période

Mot Raccourcis des symboles 2016 - mannequins

Mot Raccourcis des symboles 2016 - mannequins

En fonction de la manière dont vous choisissez d'utiliser Word 2016, vous risquez de devoir faire face pour un symbole spécial. Avec ces raccourcis clavier, vous pouvez insérer des symboles communs dans Word 2016. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tiret ...

Mot Trucs et astuces pour les tables 2013 - mannequins

Mot Trucs et astuces pour les tables 2013 - mannequins

Dans Word 2013, le texte se déverse dans un tableau sur une cellule base de la cellule. Vous pouvez taper un mot, une phrase ou même un paragraphe. Tout ce texte reste dans la cellule, bien que la cellule change de taille pour accueillir de plus grandes quantités de texte. Vous pouvez mettre en forme la cellule d'une table comme n'importe quel paragraphe de Word, en ajoutant même des marges ...

Le choix des éditeurs

Sexe For Dummies Cheat Sheet - les nuls

Sexe For Dummies Cheat Sheet - les nuls

Que vous vous considériez comme un Don Juan, une Lady Chatterly, ou un novice sexuel , tout le monde peut tirer le meilleur parti du sexe avec un peu plus de connaissances. Vous devriez savoir que les préliminaires sont quelque chose que vous devriez prendre en considération avec chaque interaction que vous et votre partenaire avez, ainsi que la façon de garder les choses ...

Mots et significations liés à la ménopause - mannequins

Mots et significations liés à la ménopause - mannequins

Bien que ce soit loin d'être une liste complète des termes que vous pourriez entendre être utilisé lorsque la ménopause est discutée, les cinq termes essentiels suivants devraient vous aider à comprendre les bases. HRT (hormonothérapie substitutive): Un traitement pour compléter les hormones que vous perdez pendant la ménopause - généralement une combinaison d'œstrogènes, ...

Symptômes qui indiquent que la ménopause est proche - mannequins

Symptômes qui indiquent que la ménopause est proche - mannequins

La plupart des femmes commencent à éprouver des symptômes de ménopause déséquilibrés, alors qu'ils ont encore des règles. Si vous ressentez un ou plusieurs des symptômes suivants, consultez votre médecin - vous pouvez être en train d'aborder le changement. Peau sèche ou cheveux Pensée floue (difficulté à se concentrer) Flutters du cœur (battements de cœur rapides) ...