java – 测量数组之间的重叠

前端之家收集整理的这篇文章主要介绍了java – 测量数组之间的重叠前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

给定Java中的几个数组(我将循环通过当前存储在HashMap中的键),我希望能够识别(基于当前存储的boolean []键)哪些索引在所有索引中都是真的,哪些是假.

例:

{true,true,false}
{true,false,false}

将索引0作为具有所有真值,并将索引2作为具有所有假值.

我的一个想法是将布尔数组转换为整数数组,对值求和,如果求和数组索引= numArrays,则所有这些都是True.类似地,如果求和的数组索引为0,则它​​们全部为假.

我不知道如何以有效的方式(在java中)这样做,如果这是一个很好的方法来实现我想要的结果.

有没有办法将布尔数组转换为整数?如果没有,是最简单的替代实例化一个新的int数组,并循环通过布尔数组来填充新数组?

最佳答案
假设所有数组都具有相同数量的元素,您可以尝试这样做:

public static void main(String[] args) {
    boolean[] array1 = new boolean[] {true,false};
    boolean[] array2 = new boolean[] {true,false};
    boolean[] array3 = new boolean[] {true,false};
    boolean[] array4 = new boolean[] {true,false};

    compareAndPrintCommonIndicesForArrays(array1,array2,array3);
}

public static boolean compareAndPrintCommonIndicesForArrays(boolean[] ...arrays) {
    boolean result =true;
    boolean itemToCompare;
    int elementsToCompare = arrays[0].length;

    for(int itemIndex=0; itemIndex

它打印:

0
 2

代码将遍历所有索引,并且对于每个索引,它将比较该索引处的所有数组中的元素.如果它们全部相同则打印索引.

原文链接:https://www.f2er.com/java/437202.html

猜你在找的Java相关文章