当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java IntStream peek()用法及代码示例


IntStream peek()是java.util.stream.IntStream中的方法。该函数返回由该流的元素组成的流,并在从结果流中消耗元素时对每个元素另外执行提供的操作。

用法:

IntStream peek(IntConsumer action)

Where, IntStream is a sequence of primitive
int-valued elements and the function returns 
a parallel IntStream and IntConsumer represents 
an operation that accepts a single int-valued argument.

示例1:在给定范围的流上执行求和。


// Java code for IntStream peek() 
// where the action performed is to get 
// sum of all elements in given range 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
      
    // Driver code 
    public static void main(String[] args) { 
      
    // Creating a stream of integers 
    IntStream stream = IntStream.range(2, 10); 
      
    // performing action sum on elements of  
    // given range and storing the result in sum 
    int 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

示例2:在给定范围的流上执行计数操作。

// Java code for IntStream peek() 
// where the action performed is to get 
// count of all elements in given range 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
      
    // Driver code 
    public static void main(String[] args) { 
      
    // Creating a stream of integers 
    IntStream stream = IntStream.range(2, 10); 
      
    // 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

示例3:在给定范围的流上执行平均操作。

// Java code for IntStream 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.IntStream; 
  
class GFG { 
      
    // Driver code 
    public static void main(String[] args) { 
      
    // Creating a stream of integers 
    IntStream stream = IntStream.range(2, 10); 
  
    // 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


相关用法


注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 IntStream peek() in Java with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。