是否可以使用流来确定该流的子集是否大于阈值。
假设我有一个年龄列表,如果年龄超过20岁,我想触发某项行动。
到目前为止,我已经尝试过滤(因为这会给我20岁以上的年龄),我可以得到一个计数,这很好,因为我可以做正常,如果检查计数,但我觉得我应该能够更进一步,更具说服力。
由于 加文
答案 0 :(得分:3)
我不认为对于流有一个终端操作,例如hasAtLeast(n)
,但是通过组合其他一些操作来实现这种行为很简单。
假设stream是一个IntStream(很容易为一个对象流提供类似的解决方案):
if (stream.filter(i -> i > 20).limit(11).count() > 10) {
}
虽然这与您已经尝试的内容没有什么不同,但使用limit()
可确保在触发操作之前只评估流的足够元素。