检查布尔数组是否包含true的最快方法

我有一个arrayboolean条目:

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));

在五次跑步中的时间排名最高,排名第一:

  1. 在5334和11584 ns之间:

    for (boolean value : myBooleanArray) {

    if (value) {

    return true;

    }

    }

    return false;

  2. 在160542和171417 ns之间:

    Arrays.asList(myBooleanArray).contains(true);

  3. 在191833和205750 ns之间:

    Booleans.contains(myBooleanArray, true);

回答:

只是遍历数组

for(boolean value: myBooleanArray){

if(value){ return true;}

}

return false;

以上是 检查布尔数组是否包含true的最快方法 的全部内容, 来源链接: utcz.com/qa/404425.html

回到顶部