LongStream peek() is a method in java.util.stream.LongStream. The function returns a stream consisting of the elements of this stream, additionally performing the provided action on each element as elements are consumed from the resulting stream.
Syntax :
LongStream peek(LongConsumer action) Where, LongStream is a sequence of primitive long-valued elements and the function returns a parallel LongStream and LongConsumer represents an operation that accepts a single long-valued argument.
Example 1 : Performing sum on a stream of given range.
// Java code for LongStream peek() // where the action performed is to get // sum of all elements in given range import java.util.*; import java.util.stream.LongStream; class GFG { // Driver code public static void main(String[] args) { // Creating a stream of longs LongStream stream = LongStream.range(2L, 10L); // performing action sum on elements of // given range and storing the result in sum long sum = stream.peek(System.out::println).sum(); // Displaying the result of action performed System.out.println( "sum is : " + sum); } } |
2 3 4 5 6 7 8 9 sum is : 44
Example 2 : Performing count operation on a stream of given range.
// Java code for LongStream peek() // where the action performed is to get // count of all elements in given range import java.util.*; import java.util.stream.LongStream; class GFG { // Driver code public static void main(String[] args) { // Creating a stream of longs LongStream stream = LongStream.range(2L, 10L); // performing action count on elements of // given range and storing the result in Count long Count = stream.peek(System.out::println).count(); // Displaying the result of action performed System.out.println( "count : " + Count); } } |
2 3 4 5 6 7 8 9 count : 8
Example 3 : Performing average operation on a stream of given range.
// Java code for LongStream peek() // where the action performed is to get // average of all elements in given range import java.util.*; import java.util.OptionalDouble; import java.util.stream.LongStream; class GFG { // Driver code public static void main(String[] args) { // Creating a stream of longs LongStream stream = LongStream.range(2L, 10L); // performing action average on elements of // given range and storing the result in avg OptionalDouble avg = stream.peek(System.out::println) .average(); // If a value is present, isPresent() // will return true, else -1 is displayed. if (avg.isPresent()) { System.out.println( "Average is : " + avg.getAsDouble()); } else { System.out.println( "-1" ); } } } |
2 3 4 5 6 7 8 9 Average is : 5.5