首页 >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