Wednesday, July 3, 2024
HomeLanguagesJavaDoubleStream forEach() method in Java

DoubleStream forEach() method in Java

DoubleStream forEach(DoubleConsumer action) performs an action for each element of the stream. It is a terminal operation i.e, it may traverse the stream to produce a result or a side-effect.

Syntax :

void forEach(DoubleConsumer action)

Parameter :

  1. DoubleConsumer : Represents an operation that accepts a single double-valued argument and returns no result. This is the primitive type specialization of Consumer for double.

Note : The behaviour of this operation is explicitly nondeterministic. Also, for any given element, the action may be performed at whatever time and in whatever thread the library chooses.

Example 1 :




// Java code for DoubleStream forEach
// (DoubleConsumer action) in Java 8
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(7.3, 8.2, 9.5, 10.6);
  
        // Using DoubleStream.forEach
        stream.forEach(System.out::println);
    }
}


Output:

7.3
8.2
9.5
10.6

Note : For parallel stream, DoubleStream forEach(DoubleConsumer action) does not guarantee to respect the encounter order of the stream, as doing so would sacrifice the benefit of parallelism. Below is the example.

Example 2 :




// Java code for DoubleStream forEach
// (DoubleConsumer action) in Java 8
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(7.3, 8.2, 9.5, 10.6);
  
        // Using DoubleStream.forEach() on parallel stream
        stream.parallel().forEach(System.out::println);
    }
}


Output:

9.5
7.3
8.2
10.6

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments