次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));
5回のランでのタイムランキングは、最速が最初でした:
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);