每日一课 | Java 8 Stream List 获取最后一个元素

在Java 8中,我们可以使用reduce或skip获取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");
 
        // get last element from a list
        String result = list.get(list.size() - 1);
 
        System.out.println(result);
 
        // get last element from a stream, via skip
        String result2 = list.stream().skip(list.size() - 1).findFirst().orElse("no last element");
 
        System.out.println(result2);
    }
 
}

输出量

javascript
javascript

参考文献

    流JavaDoc Java –获取列表的最后一个元素 Java 8 Stream findFirst()和findAny() Java 8 Stream.reduce()示例

翻译自: https://mkyong.com/java8/java-8-get-the-last-element-of-a-stream/

在Java 8中,我们可以使用reduce或skip获取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 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 list = Arrays.asList("node", "java", "c++", "react", "javascript");           // get last element from a list         String result = list.get(list.size() - 1);           System.out.println(result);           // get last element from a stream, via skip         String result2 = list.stream().skip(list.size() - 1).findFirst().orElse("no last element");           System.out.println(result2);     }   } 输出量 javascript javascript 参考文献 流JavaDoc Java –获取列表的最后一个元素 Java 8 Stream findFirst()和findAny() Java 8 Stream.reduce()示例 翻译自: https://mkyong.com/java8/java-8-get-the-last-element-of-a-stream/
经验分享 程序员 微信小程序 职场和发展