两个数组上的Java XOR

时间:2013-01-09 18:25:22

标签: java arrays matrix

我必须在两个数组上应用xor,比如说我有:

array_1: 1 0 1 0 1 1
array_2: 1 0 0 1 0 1

我想有一个函数接受两个数组并返回一个应用XOR的数组, 所以在这种情况下我希望这个函数返回:

returned_array: 0 0 1 1 1 0

请帮我一个算法..谢谢!

2 个答案:

答案 0 :(得分:22)

如果要将这些数字存储在字节数组中,请使用以下简单的解决方案:

byte[] array_1 = new byte[] { 1, 0, 1, 0, 1, 1 };
byte[] array_2 = new byte[] { 1, 0, 0, 1, 0, 1 };

byte[] array_3 = new byte[6];

int i = 0;
for (byte b : array_1)
    array_3[i] = b ^ array_2[i++];

输出数组:

0 0 1 1 1 0

答案 1 :(得分:-1)

这是一个很好的解决方案吗? (我写这封感谢你给我的东西)

if(array1.length==array2.length){
  for(int i=0;i<array1.length;i++){

    output.add(logicalXOR(array1.get(i),array2.get(i)))

  }
}

当然array1,2和输出将是arrayLists