如何检查数组中的所有值是否都具有特定值?

Sta*_*kii 0 java arrays traversal

在Java中,给定一个值数组(比如整数),有没有办法有效地检查它们是否都具有某个值?

例如,使用整数数组,例如:

int[] numbers = {2, 2, 2, 2, 2, 2, 2};
Run Code Online (Sandbox Code Playgroud)

并且只有当所有这些都是2时才需要执行操作,是否有比这样做更有效的方法:

if (numbers[1] == 2 && numbers[2] == 2 && numbers[3] == 2 && …)
Run Code Online (Sandbox Code Playgroud)

我知道有很多方法可以在C++中实现这一点但是Java呢?

Bha*_*ikh 5

或者,如果使用java 8,您可以执行以下操作:

if(Arrays.stream(numbers).allMatch(x -> x == 2)) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

基本上,您可能想要处理集合/数组的所有事情都可以通过Streams非常简洁地完成.