Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

DoubleStream findAny() with examples

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

DoubleStream findAny() returns an OptionalDouble (a container object which may or may not contain a non-null value) describing some element of the stream, or an empty OptionalDouble if the stream is empty.

Syntax :

OptionalDouble findAny()

Parameters :

  1. OptionalDouble : A container object which may or may not contain a non-null value.

Return Value : The function returns an OptionalDouble describing some element of this stream, or an empty OptionalDouble if the stream is empty.

Note : findAny() is a terminal-short-circuiting operation of Stream interface. This method returns any first element satisfying the intermediate operations. This is a short-circuit operation because it just needs ‘any’ first element to be returned and terminate the rest of the iteration.

Example 1 : findAny() method on Double Stream.




// Java code for DoubleStream findAny()
// which returns an OptionalDouble describing
// some element of the stream, or an
// empty OptionalDouble if the stream is empty.
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an DoubleStream
        DoubleStream stream = DoubleStream.of(6.3, 7.4, 8.5, 9.6);
  
        // Using DoubleStream findAny() to return
        // an OptionalDouble describing some element
        // of the stream
        OptionalDouble answer = stream.findAny();
  
        // if the stream is empty, an empty
        // OptionalDouble is returned.
        if (answer.isPresent()) {
            System.out.println(answer.getAsDouble());
        }
        else {
            System.out.println("no value");
        }
    }
}

Output :

6.3

Note : The behavior of DoubleStream findAny() operation is explicitly non-deterministic i.e, it is free to select any element in the stream. Multiple invocations on the same source may not return the same result.

Example 2 : findAny() method to return the elements divisible by 4, in a non-deterministic way.




// Java code for DoubleStream findAny()
// which returns an OptionalDouble describing
// some element of the stream, or an
// empty OptionalDouble if the stream is empty.
import java.util.OptionalDouble;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an DoubleStream
        DoubleStream stream = DoubleStream.of(4.4, 5.6,
                    8.4, 10.2, 12.0, 16.0).parallel();
  
        // Using DoubleStream findAny().
        // Executing the source code multiple times
        // may not return the same result.
        // Every time you may get a different
        // Double value which is divisible by 4.
        stream = stream.filter(num -> num % 4 == 0);
  
        OptionalDouble answer = stream.findAny();
        if (answer.isPresent()) {
            System.out.println(answer.getAsDouble());
        }
    }
}

Output :

16.0

My Personal Notes arrow_drop_up
Last Updated : 06 Dec, 2018
Like Article
Save Article
Similar Reads
Related Tutorials