Java 8获取Stream的最后一个元素

作者 | 2020年4月19日

在Java8中我们可以使用reduceskip方法来获取Stream的最后一个元素。

1. Stream.reduce

Java8Example1.java

package com.mkyong;

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

public class Java8Example1 {

    public static void main(String[] args) {

        List<String> list = Arrays.asList("node", "java", "c++", "react", "javascript");

        String result = list.stream().reduce((first, second) -> second).orElse("no last element");

        System.out.println(result);

    }

}

输出

javascript

2. Stream.skip

Java8Example2.java

package com.mkyong;

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

public class Java8Example2 {

    public static void main(String[] args) {

        List<String> list = Arrays.asList("node", "java", "c++", "react", "javascript");

        // 获取list的最后一个元素
        String result = list.get(list.size() - 1);

        System.out.println(result);

        // 通过skip获取stream的最后一个元素
        String result2 = list.stream().skip(list.size() - 1).findFirst().orElse("no last element");

        System.out.println(result2);
    }

}

输出

javascript
javascript

发表评论

电子邮件地址不会被公开。 必填项已用*标注