1.方法介绍
【方法签名】
1.Optional<T> findFirst();
2.Optional<T> findAny();
【方法属性】终结方法
【方法参数】无参
【方法作用】
1.findFirst() : 返回流中的第一个元素;如果流是空的,则返回空;
2.findAny() : 返回流中的任意一个元素;如果流是空的,则返回空;
【大多数情况下,数据量不大的情况下,findAny()也会返回第一个元素,此时效果与findFirst()一致】
【方法返回值】 Optional<T> ,可以通过该类型对象的 get()方法获取内部包含的值
(Optioinal也是java8中的新特性,目的是解决空指针问题)
2.案例代码
2.1 代码
package com.northcastle.I_stream;
import java.util.Optional;
import java.util.stream.Stream;
public class StreamTest11Find {
public static void main(String[] args) {
//0.准备一个数组
String[] strs = {"aaa","bbb","ccc","ddddd","abcdefg"};
// 1.查找第一个元素
Optional<String> first = Stream.of(strs).findFirst();
System.out.println("获取第一个元素 : "+first.get()); // 通过Optional的get()方法取值
//2.查找任意一个元素
Optional<String> any = Stream.of(strs).findAny();
System.out.println("获取任意一个元素 :"+any.get()); // 通过Optional的get()方法取值
}
}
2.2 执行结果
3.完成
Congratulations!
You are one step closer to success!