我有一个array
条目boolean
:
boolean[] myBooleanArray = new boolean[24];
目前我检查它是否包含 true 像这样:
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);