我有一个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;
问题内容: 基本上,我大约有1,000,000个字符串,对于每个请求,我都必须检查一个String是否属于列表。 我担心性能,最好的方法是什么??哈希? 问题答案: 最好的选择是使用并通过方法检查集合中是否存在字符串。建立HashSet可以通过使用Object方法和进行快速访问。状态的Javadoc : 此类为基本操作(添加,删除,包含和调整大小)提供了恒定的时间性能, HashSet 将对象存储
我正在尝试编写布尔方法,但它不起作用 它的工作,如果我写这个方法: 我应该如何为它制作布尔方法?
问题内容: 我有一个,并且想知道最快的方法是检查所有值是否均为零? 有没有比做更快的方法: 问题答案: 我先将所有字节加总后就重写了这个答案,但是这是不正确的,因为Java已经对字节进行了签名,因此我需要or。 另外,我已将JVM预热更改为正确。 最好的选择实际上是简单地遍历所有值。 我想您有三种主要选择: 或所有元素并检查总和。 进行无分支比较。 与分支进行比较。 我不知道使用Java添加字节的
问题内容: 假设我创建了一个像这样的文档: 我可以使用GET / idx / type / 1检索文档: 现在,我想检查字段“ the_field”是否包含值2。我知道我可以使用term子句,但是我需要使用过滤器脚本检查它,因此我尝试了: 并没有结果: 为了测试我的mevl脚本语法是否正确,我尝试这样做: 并获得正确的结果: 我究竟做错了什么? 我认为doc [‘the_field’]。value
问题内容: 如何验证数组仅包含整数值? 我希望能够检查一个数组,并最终得到一个布尔值,如果该数组仅包含整数并且该数组中是否还有其他字符。我知道我可以遍历数组并单独检查每个元素,然后返回或取决于非数字数据的存在: 例如: 但是,有没有更简洁的方法可以使用我从未想到的原生PHP功能呢? 注意:对于我当前的任务,我只需要验证一维数组。但是,如果有一种可以递归工作的解决方案,那么我将不胜感激。 问题答案:
问题内容: 我在Java中有一个布尔数组: 检查所有值是否为真的最优雅的方法是什么? 问题答案: