按列分析2D数组

时间:2014-02-23 23:48:35

标签: java arrays 2d

我有以下2D数组,我想比较所有列。

    int [][] myarray={{1,2,3},{1,2,3},{1,2,3}};

所以我想看到的是第1列(全1)是否等于第2列中的值(全部为2)。

聚苯乙烯。数组大小不仅限于此。

3 个答案:

答案 0 :(得分:0)

for (int i=0;i<myarray[0].length;i++) {
   int comp=myarray[0][i];
   for (int j=1;j<myarray.length;j++) {
      if (myarray[j][i] != comp) {
            // no match
      } else {
            // match
      }
   }
}

答案 1 :(得分:0)

要测试所有列对,需要3个循环

  1. Innermost比较A列和B列的元素
  2. 中间循环通过B,跳过已经检查过的列
  3. 所有列的最外面的循环遍历A

答案 2 :(得分:0)

从您的问题中不清楚您是要将所有列彼此进行比较,还是仅将一列与另一列进行比较(例如第1列到第2列)。假设你的意思是后者,你可以这样做。

public boolean columnsIdentical(int[][] array, int colIndex1, int colIndex2) {
    for (int row = 0; row < array.length; row++ ) {
        if (array[row][colIndex1] != array[row][colIndex2]) {
            return false;
        }
    }
    return true;
}