空流的allMatch和anyMatch行为之间有什么区别

时间:2016-04-26 15:53:32

标签: java java-stream

我们可以除了它们对任何集合的行为相同,甚至是空集合吗?

1 个答案:

答案 0 :(得分:0)

没有。您只需检查:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        System.out.println("Any match returns " + list.stream().anyMatch(number -> number > 0));
        System.out.println("All match returns " + list.stream().allMatch(number -> number > 0));
    }
}

输出:

Any match returns false
All match returns true

因此, anyMatch 会为空流返回 false ,但 allMatch 会返回 true 。在这种情况下,你在里面的条件并不重要。这对我来说并不明显。希望有所帮助。