首页 >Java >java教程 >如何有效检测 Java 数组中的重复项并避免误报?

如何有效检测 Java 数组中的重复项并避免误报?

Patricia Arquette
Patricia Arquette原创
2024-12-06 16:09:21228浏览

How Can I Efficiently Detect Duplicates in a Java Array and Avoid False Positives?

Java 数组:识别重复项

在数组中搜索重复项时,必须避免可能导致错误结果的陷阱。在提供的代码片段中,问题出在嵌套循环结构中:

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

即使没有重复项,这种方法也会错误地将重复项设置为 true。当 j 等于 k ​​时,就会出现问题,即使对于唯一元素,也会触发条件 zipcodeList[k] == zipcodeList[j]`。

鼻子上的答案...

为了纠正这个错误,我们可以通过在 k = j 1 处开始内循环来改进循环结构,如图所示如下:

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

此修改确保我们只将每个元素与其他唯一元素进行比较,有效防止误报。

以上是如何有效检测 Java 数组中的重复项并避免误报?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn