Open In App

Stream findFirst() in Java with examples

Improve
Improve
Like Article
Like
Save
Share
Report

Stream findFirst() returns an Optional (a container object which may or may not contain a non-null value) describing the first element of this stream, or an empty Optional if the stream is empty. If the stream has no encounter order, then any element may be returned.

Syntax :

Optional<T> findFirst()

Where, Optional is a container object which
may or may not contain a non-null value 
and T is the type of objects and the function
returns an Optional describing the first element 
of this stream, or an empty Optional if the stream is empty.

Exception : If the element selected is null, NullPointerException is thrown.

Note : findAny() is a terminal-short-circuiting operation of Stream interface. This method returns first element satisfying the intermediate operations.

Example 1 : findFirst() function on Stream of Integers.




// Java code for Stream findFirst()
// which returns an Optional describing
// the first element of this stream, or
// an empty Optional if the stream is empty.
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a List of Integers
        List<Integer> list = Arrays.asList(3, 5, 7, 9, 11);
  
        // Using Stream findFirst()
        Optional<Integer> answer = list.stream().findFirst();
  
        // if the stream is empty, an empty
        // Optional is returned.
        if (answer.isPresent()) {
            System.out.println(answer.get());
        }
        else {
            System.out.println("no value");
        }
    }
}


Output :

3

Example 2 : findFirst() function on Stream of Strings.




// Java code for Stream findFirst()
// which returns an Optional describing
// the first element of this stream, or
// an empty Optional if the stream is empty.
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a List of Strings
        List<String> list = Arrays.asList("GeeksforGeeks", "for",
                                          "GeeksQuiz", "GFG");
  
        // Using Stream findFirst()
        Optional<String> answer = list.stream().findFirst();
  
        // if the stream is empty, an empty
        // Optional is returned.
        if (answer.isPresent()) {
            System.out.println(answer.get());
        }
        else {
            System.out.println("no value");
        }
    }
}


Output :

GeeksforGeeks


Last Updated : 06 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads