Encuentra el primer elemento de un Stream en Java

Dada una secuencia que contiene algunos elementos, la tarea es obtener el primer elemento de la secuencia en Java .

Ejemplo:

Entrada: Corriente = {“Geek_First”, “Geek_2”, “Geek_3”, “Geek_4”, “Geek_Last”}
Salida: Geek_First

Entrada: Flujo = {1, 2, 3, 4, 5, 6, 7}
Salida: 1

Hay muchos métodos para encontrar los primeros elementos en un Stream :

  1. Uso del método Stream.reduce() : El método reduce funciona en dos elementos de la secuencia y devuelve el elemento según la condición requerida. Por lo tanto, este método se puede utilizar para reducir el flujo de modo que contenga solo el primer elemento.

    Acercarse:

    • Obtenga la secuencia de elementos en la que se devolverá el primer elemento.
    • Para obtener el primer elemento, puede usar el método reduce() para ignorar el segundo elemento, repetidamente, hasta que no haya un segundo elemento.
      Stream.reduce((first, second) -> first)
      
    • Esto reduce el conjunto de elementos en un Stream a un solo elemento, que es primero .
    • Por lo tanto, el único elemento único permanecerá en la corriente, que es el primer elemento.

    A continuación se muestra la implementación del enfoque anterior:
    Ejemplo:

    // 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> T
        firstElementInStream(Stream<T> 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<String> 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));
        }
    }
    Producción:

    First Element: Geek_First
    
  2. Uso del método Stream findFirst() : El método findFirst() devolverá el primer elemento de la secuencia o un elemento vacío si la secuencia está vacía.

    Acercarse:

    • Obtenga la secuencia de elementos en la que se devolverá el primer elemento.
    • Para obtener el primer elemento, puede usar directamente el método findFirst() .
      Stream.findFirst()
    • Esto devolverá el primer elemento de la secuencia.

    A continuación se muestra la implementación del enfoque anterior:
    Ejemplo:

    // 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> T
        firstElementInStream(Stream<T> 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<String> 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));
        }
    }
    Producción:

    First Element: Geek_First
    

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *