Java中的 DoubleStream filter() 示例
DoubleStream filter(DoublePredicate predicate)返回一个由该流中与给定谓词匹配的元素组成的流。这是一个中间操作。这些操作总是惰性的,即执行诸如 filter() 之类的中间操作实际上并不执行任何过滤,而是创建一个新流,当遍历该流时,它包含与给定谓词匹配的初始流的元素。
句法 :
DoubleStream filter(DoublePredicate predicate)
参数 :
- DoubleStream :原始双值元素的序列。
- DoublePredicate :一个双值参数的谓词(布尔值函数)。
返回值:函数返回新的流。
示例 1: DoubleStream 上的 filter() 方法。
// Java code for DoubleStream filter
// (DoublePredicate predicate) to get a stream
// consisting of the elements of this
// stream that match the given predicate.
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an DoubleStream
DoubleStream stream = DoubleStream.of(3.6, 5.4, 6.6, 8.1, 9.7);
// Using DoubleStream filter(DoublePredicate predicate)
// to get a stream consisting of the
// elements that are greater than 5.7
stream.filter(num -> num > 5.7)
.forEach(System.out::println);
}
}
输出:
6.6
8.1
9.7
示例 2: DoubleStream 上的 filter() 方法。
// Java code for DoubleStream filter
// (DoublePredicate predicate) to get a stream
// consisting of the elements of this
// stream that match the given predicate.
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an DoubleStream
DoubleStream stream = DoubleStream.of(3.6, 5.4, 6.6, 8.1, 9.7);
// Using DoubleStream filter(DoublePredicate
// predicate) to get a stream consisting of
// the elements that when divided by 2
// gives quotient > 2.3
stream.filter(num -> num / 2.0 > 2.3)
.forEach(System.out::println);
}
}
输出:
5.4
6.6
8.1
9.7