当前位置:网站首页>Stream通过findFirst()查找满足条件的一条数据

Stream通过findFirst()查找满足条件的一条数据

2022-08-10 12:52:00 李长渊哦


一、Stream通过findFirst()查找满足条件的一条数据

1、案例

如果取得第一个元素,则用findFirst()
最后提取元素的时候,可以用:get或者orElse(null)
这里要注意的是,规范用法是orElse(null)

    @Test
    void test1() {
    
        ArrayList<People> peopleList = Lists.newArrayList();
        peopleList.add(new People(1, "小王", 1));
        peopleList.add(new People(3, "小李", 3));
        peopleList.add(new People(2, "小张", 2));
        peopleList.add(new People(4, "小皇", 4));
        People people = peopleList.stream().filter(c -> c.getJgid() % 2 == 0).findFirst().orElse(null);
        System.out.println(people);
    }

在这里插入图片描述

2、其他

StreamfindFirst方法在此流中查找第一个元素作为 Optional

如果流中没有元素, findFirst 返回空的 Optional

如果流没有顺序,那么 findFirst 可以选择任何元素。

如果 findFirst 选择的元素为null,它将抛出 NullPointerException

package com.concretepage;
import java.util.stream.Stream;
public class FindFirstDemo4 {
    
  public static void main(String[] args) {
    
	Stream.of(null, "A").
	    findFirst().ifPresent(s -> System.out.println(s));
  }
} 

输出将为NullPointerException。

原网站

版权声明
本文为[李长渊哦]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46146718/article/details/126248382