首頁 >Java >java教程 >如何正確辨識Java數組中的重複整數?

如何正確辨識Java數組中的重複整數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-07 04:49:10717瀏覽

How Can I Correctly Identify Duplicate Integers in a Java Array?

Java 數組,找出重複項

問題:
在Java 中,給出一個整數數組,目標是識別並報告數組中的任何重複元素。然而,當不存在重複項時,目前檢測重複項的方法會產生錯誤的結果。

原始程式碼:

int[] zipcodelist = // ...

boolean duplicates = false;
for(j = 0; j < zipcodeList.length; j++){
    for(k = 0; k < zipcodeList.length; k++){
        if (zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}

原始程式碼中的問題:
當陣列中沒有重複項時就會出現問題。即使在這種情況下,循環結構也會將重複項指定為 true,因為內部循環會檢查每個元素與其本身之間的相等性。因此,當沒有重複項時,重複項最終為 true。

改進的偵測重複項的程式碼:
要解決此問題,可以將程式碼修改如下:

duplicates = false;
for (j = 0; j < zipcodeList.length; j++){
    for (k = j + 1; k < zipcodeList.length; k++){
        if (k != j && zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}

說明:

說明:說明>此修改後的程式碼包括一個附加的內循環內的條件(k != j)。此步驟可確保僅在唯一元素之間進行比較,避免每個元素與其自身的重複檢查。因此,只有在遇到真正的重複項時,重複項才會被設定為 true,產生準確的結果。

以上是如何正確辨識Java數組中的重複整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn