java - 比较两个 boolean 数组的最有效方法是什么?

标签 java arrays compare

我有一个包含 10 个 boolean 值的数组 a(或者相当于 < 1024 的数字的二进制表示形式)。我想通过以下方式将此数组与一大组相同大小的 boolean 数组 b[i] 进行比较: 如果数组 a 的元素永远不是 true,函数 compare(a,b[i]) 应返回 true code> 当b[i]中相同位置的元素为false时。

以java为例

boolean compare(boolean a1, boolean a2){
for (int j = 0; j<10; j++) 
   if (a1[j] && !a2[j]) 
      return false;
return true;
}

这个功能有更好的实现吗?如果将相应的二进制数视为整数 A1(和 A2)的素数分解的系数,则等效函数为

boolean compare (int A1, int A2){
if (gcd(A1,A2)==A1) 
   return true;
else
   return false;
}

例如,( http://www.java-tips.org/java-se-tips/java.lang/finding-greatest-common-divisor-recursively.html )

int gcd(int a, int b) {
if (b==0) 
   return a;
else
   return gcd(b, a % b);
}

但我不认为这更有效(但我可能是错的)。

有人有想法吗?欢迎所有建议!

编辑:稍后我会进行一些分析...感谢您的所有建议!

最佳答案

我不确定BitSet效率更高,但它应该出现在要分析的实现的简短列表中。

关于java - 比较两个 boolean 数组的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6976706/

相关文章:

java - 仅在打开时关闭流

javascript将关联数组推送到另一个中

java - 比较java中二维数组中的值

javascript - 比较两个数组和唯一值计数?

javascript - 如何比较不包括在单独数组中指定的字段的两个 JSON 对象?( postman 脚本)

java - Gson 和通过继承序列化对象的 ArrayList

java - 如何在 GWT 中解析大数据 (XML)

java - Java 中的数组排序

r - 如何比较一组列与另一组列?

java - JENA:在不同本体类的两个个体之间创建对象属性断言