📜  在Java中查找 Stream 的第一个元素

📅  最后修改于: 2022-05-13 01:54:41.891000             🧑  作者: Mango

在Java中查找 Stream 的第一个元素

给定一个包含一些元素的,任务是在Java中获取 Stream 的第一个元素。

例子:

有很多方法可以找到 Stream 中的第一个元素:

  1. 使用 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
    
  2. 使用 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