Heim  >  Artikel  >  Java  >  Einfaches Beispiel für einen Lambda-Ausdruck und eine Stream-Klasse in Java

Einfaches Beispiel für einen Lambda-Ausdruck und eine Stream-Klasse in Java

黄舟
黄舟Original
2017-01-17 15:14:071236Durchsuche

Stellen Sie eine Frage

Wie verwende ich Javas Lambda-Ausdrücke und Stream? ? ?

Lösen Sie das Problem

Die Syntax des Lambda-Ausdrucks

Grundlegende Syntax:

[code](parameters) -> expression
或
(parameters) ->{ statements; }

Schauen Sie sich die Beispiele an, um zu lernen!

Beispiel 1: Definieren Sie eine AyPerson-Klasse zur Vorbereitung auf nachfolgende Tests.

[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 + ";"));
    }
}

Das obige Beispiel namens.forEach((name) -> System.out.println(name + „;“));

ähnelt:

function(name){//name为参数 

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

}
Ergebnis:
[code]Ay;
Al;
Xy;
Xl;

Beispiel 2: Kopieren Sie den folgenden Code in die Hauptfunktion oben

[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()));

Ergebnis:

[code]00001:Ay
00002:Al
00003:To

Beispiel 3 : f**ilter()**-Methode in Lambda- und Stream-Klassen

[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()));

Ergebnis:

[code]00001:Ay

Beispiel 4: Collect()-Methode in der Stream-Klasse,

[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()));

Es kann nicht nur in der Liste, sondern auch im Set usw. platziert werden...

Ergebnis:
[code]00002:Al

Stream Es gibt viele nützliche Methoden, die verwendet werden können, wie z. B. Anzahl, Limit usw. Sie können zur API gehen, um selbst zu lernen

Das Obige ist der Lambda-Ausdruck in Java und einfache Beispiele der Stream-Klasse. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn