Stream通过findFirst查找满足条件的一条数据
一、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、其他
Stream
的findFirst
方法在此流中查找第一个元素作为 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。
- 偷偷点灯的夜晚,铺满对未来的渴望。
- 我生来就是高山而非溪流,我欲于群峰之巅俯视平庸的沟壑。
- 我们可以确定的是,集中在我们擅长的事情上是更让人愉悦的。
- 每件事到最后一定会变成—件好事,如果不是,说明还没到最后。
- 凡心所向,素履以往,生如逆旅。
- 未曾谋面的也将终会相遇,慢慢来,慢慢约会吧。
- 外面不像你想的那么好,风雨都要自己挡;愿每个独自走夜路的你都足够坚强。
- 秋天也很好,桂花会开,空气会香甜,我们会变好,一切充满希望,温柔又热烈。
- 有种落差是,你配不上自己的野心,也辜负了所受的苦难。
- 清醒温柔知进退,努力上进且优秀。