Heim > Java > javaLernprogramm > 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

黄舟
Freigeben: 2017-01-17 15:14:07
Original
1316 Leute haben es durchsucht

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; }
Nach dem Login kopieren

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 + ";"));
    }
}
Nach dem Login kopieren

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

ähnelt:

function(name){//name为参数 

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

}
Nach dem Login kopieren
Ergebnis:
[code]Ay;
Al;
Xy;
Xl;
Nach dem Login kopieren

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()));
Nach dem Login kopieren

Ergebnis:

[code]00001:Ay
00002:Al
00003:To
Nach dem Login kopieren

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()));
Nach dem Login kopieren

Ergebnis:

[code]00001:Ay
Nach dem Login kopieren

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()));
Nach dem Login kopieren

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

Ergebnis:
[code]00002:Al
Nach dem Login kopieren

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 (m.sbmmt.com)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage