簡體   English   中英

按列分析二維數組

[英]analyzing a 2D array by columns

我有以下2D數組,我想將所有列相互比較。

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

所以我想看看的是,第1列(全部為1)是否等於第2列(全部為2)中的值。

附言 數組大小不僅限於此。

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
      }
   }
}

要測試所有成對的列,您需要3個循環

  1. 最內部比較列A和B的元素
  2. 中間通過B循環,跳過已檢查的列
  3. 所有列的最外層遍歷A

從您的問題還不清楚,您是否要比較所有列,還是僅將一個列與另一個單獨的列進行比較(例如,將第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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM