LongStream peek() in Java with examples

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 rangeimport 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); }} |
Output:
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 rangeimport 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); }} |
Output:
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 rangeimport 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"); } }} |
Output:
2 3 4 5 6 7 8 9 Average is : 5.5



