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