检查布尔数组是否包含true的最快方法
我有一个array
的boolean
条目:
boolean[] myBooleanArray = new boolean[24];
目前,我正在检查它是否包含真像这样:
Arrays.asList(myBooleanArray).contains(true);
这是检查布尔数组的 最快 方法吗?如果不是,执行此检查的最快方法是什么?
编辑:
通过在Android 4.03 Samsung S2设备上将其作为应用程序运行,我对您的答案中的方法进行了计时,如下所示:
boolean[] myBooleanArray = new boolean[24];long startTime = System.nanoTime();
suggestedMethod(myBooleanArray);
long endTime = System.nanoTime();
long duration = endTime - startTime;
Log.i("timetest", Long.toString(duration));
在五次跑步中的时间排名最高,排名第一:
在5334和11584 ns之间:
for (boolean value : myBooleanArray) {
if (value) {
return true;
}
}
return false;
在160542和171417 ns之间:
Arrays.asList(myBooleanArray).contains(true);
在191833和205750 ns之间:
Booleans.contains(myBooleanArray, true);
回答:
只是遍历数组
for(boolean value: myBooleanArray){ if(value){ return true;}
}
return false;
以上是 检查布尔数组是否包含true的最快方法 的全部内容, 来源链接: utcz.com/qa/404425.html