簡體   English   中英

在Java中測試二維數組中的相等性

[英]Testing for equality in a two-dimensional array in Java

如何在Java的二維數組中找到所有匹配的元素?

基本上,您只需要遍歷行和列,檢查兩個矩陣中尋址單元的內容是否相等(!),然后將結果存儲到另一個矩陣中,這就是您的運算結果。

不要忘記對矩陣實施強制檢查,否則,如果您提供“非法參數”,該算法肯定會崩潰。

變體:如果需要Java原語(int或float),請更改數組的類型,不要使用equals進行比較,而是使用==運算符。

private boolean[][] findMatches(Object[][] array1, Object[][] array2) {
  if (notComparable(array1, array2) {
   return null;
  }

  boolean[][] result = new boolean[array1.length, array1[0].length];
  for (int row = 0; row < array1.length; row++) {
    for (int column = 0; column < array1.length; column++) {
      if (array1[row][column].equals(array2[row][column]) {
        result[row][column] = true;
      }
    }
  }
  return result;

}

private boolean notComparable(Object[][] array1, Object[][] array2) {

  // dummy implementation - add your checks here to guarantee
  // that the arrays are not null, not empty and of same size in each row

  return false;
}

暫無
暫無

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

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