Stream findFirst()方法

Optional<T> findFirst()
  • findAny()方法是一个终端短路操作。
  • findFirst()方法返回一个 Optional
  • 如果 Stream 非空,则 Optional包含作为给定流的第一个元素的值。
  • 如果 Stream 为空,则 Optional包含空值。
  • 如果所选元素为 null,则抛出 NullPointerException。
  • 如果 Stream已经定义了遇到顺序,findFirst()会返回遇到顺序中的第一个元素。
  • 如果 Stream没有遇到 order,findFirst()可以返回任何元素。
  • 上述行为对所有顺序和并行流都无效。findFirst()的行为不会因 Stream 的并行性而改变。
on  it road.com

Stream findFirst()示例

在给定的示例中,我们从 Stream中获取第一个元素。
只要我们得到第一个元素,流操作就会转移到 ifPresent()方法。

我们使用 ifPresent()方法中的方法引用打印第一个元素。

import java.util.stream.Stream;
public class Main 
{
	public static void main(String[] args) 
	{
		//sequential stream
		Stream.of("one", "two", "three", "four")
				.findFirst()
				.ifPresent(System.out::println);

		//parallel stream
		Stream.of("one", "two", "three", "four")
			.parallel()
			.findFirst()
			.ifPresent(System.out::println);
	}
}
Java Stream findFirst 方法

如果 Stream 非空,则 findFirst() 方法返回描述给定流的第一个元素的 Optional ,如果流为空,则返回空的 Optional 。

日期:2020-09-17 00:10:04 来源:oir作者:oir