Maison > Java > javaDidacticiel > le corps du texte

Exemple simple d'expression Lambda et de classe Stream en Java

黄舟
Libérer: 2017-01-17 15:14:07
original
1278 Les gens l'ont consulté

Poser une question

Comment utiliser les expressions lambda et Stream de Java ? ? ?

Résoudre le problème

La syntaxe de l'expression Lambda

Syntaxe de base :

[code](parameters) -> expression
或
(parameters) ->{ statements; }
Copier après la connexion

Regardez les exemples pour apprendre !

Exemple 1 : Définir une classe AyPerson pour préparer les tests ultérieurs.

[code]package com.evada.de;

import java.util.Arrays;
import java.util.List;

class AyPerson{

    private String id;
    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public AyPerson(String id, String name) {
        this.id = id;
        this.name = name;
    }
}

/**
 * Created by Ay on 2016/5/9.
 */
public class LambdaTest {

    public static void main(String[] args) {
        List<String> names = Arrays.asList("Ay", "Al", "Xy", "Xl");
        names.forEach((name) -> System.out.println(name + ";"));
    }
}
Copier après la connexion

L'exemple ci-dessus names.forEach((name) -> System.out.println(name «;»)

est similaire à :

<🎜); >
function(name){//name为参数 

System.out.println(name + “;”);//方法体 

}
Copier après la connexion
Résultat :
[code]Ay;
Al;
Xy;
Xl;
Copier après la connexion
Exemple 2 : Copiez le code suivant dans la fonction principale ci-dessus

[code]List<Student> personList = new ArrayList<>();
personList.add(new Student("00001","Ay"));
personList.add(new Student("00002","Al"));
personList.add(new Student("00003","To"));
personList.forEach((person) -> System.out.println(person.getId()+ ":" + person.getName()));
Copier après la connexion
Résultat :

[code]00001:Ay
00002:Al
00003:To
Copier après la connexion
Exemple 3 : Lambda Et méthode f**ilter()** dans la classe Stream

[code]List<AyPerson> personList = new ArrayList<>();
    personList.add(new AyPerson("00001","Ay"));
    personList.add(new AyPerson("00002","Al"));
    personList.add(new AyPerson("00003", "To"));
    //stream类中的filter方法
    personList.stream()
            //过滤集合中person的id为00001
            .filter((person) -> person.getId().equals("00001"))
            //将过滤后的结果循环打印出来
            .forEach((person) -> System.out.println(person.getId() + ":" + person.getName()));
Copier après la connexion
Résultat :

[code]00001:Ay
Copier après la connexion
Exemple 4 : méthode collect() dans la classe Stream,

[code]    List<AyPerson> personList = new ArrayList<>();
    List<AyPerson> newPersonList = null;

    personList.add(new AyPerson("00001","Ay"));
    personList.add(new AyPerson("00002","Al"));
    personList.add(new AyPerson("00003", "To"));
    //将过滤后的结果返回到一个新的List中
    newPersonList = personList.stream()
            .filter((person) -> person.getId().equals("00002")).collect(Collectors.toList());
    //打印结果集
    newPersonList.forEach((person) -> System.out.println(person.getId() + ":" + person.getName()));
Copier après la connexion

En plus d'être placé dans Liste, il peut également être placé dans Set, etc...
Résultat :
[code]00002:Al
Copier après la connexion

Stream Il existe de nombreuses méthodes utiles qui peuvent être utilisées, telles que le comptage, la limite, etc. Vous pouvez accéder à l'API pour apprendre par vous-même

Ce qui précède sont les expressions Lambda et le contenu d'exemples simples de la classe Stream. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal