我想检查数组squareData[]
中的所有项目是否为5。
我可以这样做:
if(squareData[0] == 5 && squareData[1] == 5 && ...){...}
但似乎效率很低。
有没有办法将其最小化为某种for
循环?
请注意squareData[]
的尺寸为9件
谢谢!
答案 0 :(得分:7)
假设您输入的是int[]
,您可以使用Stream
s:
if (Arrays.stream(squareData).allMatch(i -> i==5)) {
}
如果数组中的所有元素都满足条件i==5
,则返回true。
答案 1 :(得分:1)
转换为流并使用allMatch方法:
java.util.stream.Stream.of(squareData).allMatch(v -> v == 5)
答案 2 :(得分:1)
欢迎来到java。
无论数组大小如何,最基本的方法是
boolean allEqual = true;
for (long l : squareData) {
if (l != 5) {
allEqual = false;
break;
}
}
一旦深入了解该语言,您将找到新方法。
答案 3 :(得分:0)
private boolean haveAllItemsCorrectValue(int[] array) {
for (int value : array) {
if (value != 5) {
return false;
}
}
return true;
}
然后
if(haveAllItemsCorrectValue(squareData){...}
答案 4 :(得分:0)
我猜你正在寻找类似的东西:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
答案 5 :(得分:0)
boolean allFive = true;
for ( int i = 0; i < squareData.length; ++i ) {
if ( 5 != squareData[i] ) {
allFive = false;
break;
}
}
System.out.println(
allFive ? "All entries are five." : "At least one entry is not five."
);