如何检查阵列是否在另一个阵列中?

时间:2015-08-11 18:00:09

标签: java arrays multidimensional-array

这里,我有一个Java数组,输了,里面有两个数组:xLose和yLose。

    int[] xLose = selectLose(buttons, xNum);
    int[] yLose = selectLose(buttons, yNum);
    int[][] lose = {xLose, yLose};

我已经有了一个可以检查元素是否是数组的方法:

public boolean isInArray(int num, int[] array)
{
    for (int i = 0; i < array.length; i++)
    {
        if(num == array[i])
        {
            return true;
        }
    }
    return false;
}

但是如何检查数组是否是数组数组的元素?例如,xLose输了?

3 个答案:

答案 0 :(得分:1)

import java.util.Arrays;

public boolean isInArray(int[] sub, int[][] sup){
    for(int i=0; i<sup.length; i++)
        if(Arrays.equals(sub, sup[i]))
            return true;
    return false;
}

答案 1 :(得分:0)

更好地使用集合,事情更简单)

答案 2 :(得分:0)

你需要做这样的事情:

public boolean ArrayisInArray(int[] array1, int[][] array2)
{
    int cont=0;
    for (int i = 0; i < array2.length; i++)
    {          
      for (int j = 0; j < array2.length; i++)
      {
          if (array1[j]==array2[i][j])  
           cont++;

         if (cont == array1.length)
             return true;
      }
      cont=0;
    }
    return false;
}

此代码可以逐行比较array1和array2,在第二个数组中找到第一个数组