比較 Java 中的整數數組
在 Java 中比較數組時,確保它們的等價性至關重要。比較兩個整數數組會帶來特定的挑戰,尤其是當一個數組包含預定義值而另一個數組源自輸入檔時。
理解問題
提供的程式碼嘗試比較兩個陣列 array1 和 array2。 Array1 具有固定大小,而 array2 根據從輸入檔案讀取的第一個數字動態調整大小。其目的似乎是確定兩個陣列的長度和內容是否相等。
解決問題
但是,程式碼邏輯在準確確定相等性方面有缺陷。它檢查 array2 中的每個元素是否與 array1 中的任何元素匹配,並根據單個匹配或不匹配分別打印“true”或“false”。這種方法不足以比較整個陣列。
最佳解決方案
為了進行全面比較,更簡單、更有效率的解決方案是使用內建的Java中的Arrays.equals()方法:
<code class="java">boolean areEqual = Arrays.equals(array1, array2);</code>
此方法判斷兩個陣列是否長度相同,以及所有對應元素是否相等。
排序注意事項
需要注意的是,要使用 Arrays.equals() 方法將陣列視為相等,它們也必須進行排序。該方法的JavaDoc 指出,「如果兩個數組包含相同數量的元素,並且兩個數組中所有對應的元素對都相等,則認為兩個數組相等。」
因此,如果數組是本身並不排序,在比較它們是否相等之前有必要對它們進行排序。
以上是如何準確比較 Java 中的整數陣列:固定大小與動態大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!