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


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


IntStream filter(IntPredicate predicate)返回一个由与给定谓词匹配的流元素组成的流。这是一个中间操作。这些操作总是很懒惰,即执行诸如filter()之类的中间操作实际上并不执行任何过滤,而是创建一个新的流,该新流在遍历时将包含与给定谓词匹配的初始流的元素。

用法:

IntStream filter(IntPredicate predicate)

Where, IntStream is a sequence of primitive int-valued elements.
IntPredicate represents a predicate (boolean-valued function) 
of one int-valued argument and the function returns the new stream.

示例1:IntStream上的filter()方法。


// Java code for IntStream filter 
// (IntPredicate predicate) to get a stream 
// consisting of the elements of this 
// stream that match the given predicate. 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
        // Creating an IntStream 
        IntStream stream = IntStream.of(3, 5, 6, 8, 9); 
  
        // Using IntStream filter(IntPredicate predicate) 
        // to get a stream consisting of the 
        // elements that gives remainder 2 when 
        // divided by 3 
        stream.filter(num -> num % 3 == 2) 
            .forEach(System.out::println); 
    } 
}

输出:

5
8

示例2:IntStream上的filter()方法。

// Java code for IntStream filter 
// (IntPredicate predicate) to get a stream 
// consisting of the elements of this 
// stream that match the given predicate. 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
        // Creating an IntStream 
        IntStream stream = IntStream.of(-2, -1, 0, 1, 2); 
  
        // Using IntStream filter(IntPredicate predicate) 
        // to get a stream consisting of the 
        // elements that are greater than 0 
        stream.filter(num -> num > 0) 
            .forEach(System.out::println); 
    } 
}

输出:

1
2


相关用法


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