DoubleStream findAny() con ejemplos

DoubleStream findAny() devuelve un OptionalDouble (un objeto contenedor que puede o no contener un valor no nulo) que describe algún elemento de la secuencia, o un OptionalDouble vacío si la secuencia está vacía.

Sintaxis:

OptionalDouble findAny()

Parámetros:

  1. OptionalDouble: un objeto contenedor que puede contener o no un valor no nulo.

Valor devuelto: la función devuelve un OptionalDouble que describe algún elemento de esta secuencia, o un OptionalDouble vacío si la secuencia está vacía.

Nota: findAny() es una operación de cortocircuito de terminal de la interfaz Stream. Este método devuelve cualquier primer elemento que satisfaga las operaciones intermedias. Esta es una operación de cortocircuito porque solo necesita que se devuelva ‘cualquier’ primer elemento y termine el resto de la iteración.

Ejemplo 1: método findAny() en 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");
        }
    }
}

Producción :

6.3

Nota: El comportamiento de la operación findAny() de DoubleStream es explícitamente no determinista , es decir, es libre de seleccionar cualquier elemento en la transmisión. Varias invocaciones en la misma fuente pueden no devolver el mismo resultado.

Ejemplo 2: método findAny() para devolver los elementos divisibles por 4, de forma no determinista.

// 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());
        }
    }
}

Producción :

16.0

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall 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 *