在Java中查找 Stream 的第一个元素
给定一个包含一些元素的流,任务是在Java中获取 Stream 的第一个元素。
例子:
Input: Stream = {“Geek_First”, “Geek_2”, “Geek_3”, “Geek_4”, “Geek_Last”}
Output: Geek_First
Input: Stream = {1, 2, 3, 4, 5, 6, 7}
Output: 1
有很多方法可以找到 Stream 中的第一个元素:
- 使用 Stream.reduce() 方法: reduce 方法作用于流中的两个元素,并根据需要的条件返回元素。因此,此方法可用于减少流,使其仅包含第一个元素。
方法:
- 获取要返回第一个元素的元素流。
- 要获取第一个元素,可以使用reduce()方法重复忽略第二个元素,直到没有第二个元素。
Stream.reduce((first, second) -> first)
- 这将 Stream 中的元素集减少为单个元素,即first 。
- 因此,唯一的单个元素将保留在作为第一个元素的流中。
下面是上述方法的实现:
例子:// Java program to find first // element of a Stream in Java import java.util.*; import java.util.stream.*; public class GFG { // Function to find the // first_elements in a Stream public static
T firstElementInStream(Stream stream) { T first_element = stream // reduce() method reduces the Stream // to a single element, which is first. .reduce((first, second) -> first) // if stream is empty // null is returned .orElse(null); return first_element; } // Driver code public static void main(String[] args) { Stream stream = Stream.of("Geek_First", "Geek_2", "Geek_3", "Geek_4", "Geek_Last"); // Print the first element of a Stream System.out.println( "First Element: " + firstElementInStream(stream)); } } 输出:First Element: Geek_First
- 使用 Stream findFirst() 方法: findFirst()方法将返回流的第一个元素,如果流为空,则返回一个空元素。
方法:
- 获取要返回第一个元素的元素流。
- 要获取第一个元素,可以直接使用findFirst()方法。
Stream.findFirst()
- 这将返回流的第一个元素。
下面是上述方法的实现:
例子:// Java program to find first // element of a Stream in Java import java.util.*; import java.util.stream.*; public class GFG { // Function to find the // first_elements in a Stream public static
T firstElementInStream(Stream stream) { T first_element = stream // findFirst() method returns // the first element of stream .findFirst() // if stream is empty // null is returned .orElse(null); return first_element; } // Driver code public static void main(String[] args) { Stream stream = Stream.of("Geek_First", "Geek_2", "Geek_3", "Geek_4", "Geek_Last"); // Print the first element of a Stream System.out.println( "First Element: " + firstElementInStream(stream)); } } 输出:First Element: Geek_First