Maison >Java >javaDidacticiel >Comment puis-je détecter efficacement les doublons dans un tableau Java et éviter les faux positifs ?

Comment puis-je détecter efficacement les doublons dans un tableau Java et éviter les faux positifs ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 16:09:21244parcourir

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

Tableau Java : identification des doublons

Lors de la recherche de doublons au sein d'un tableau, il est impératif d'éviter les pièges qui peuvent conduire à des résultats incorrects. Dans l'extrait de code fourni, le problème réside dans la structure de boucle imbriquée :

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

Cette approche définit incorrectement les doublons sur true même lorsqu'il n'y a pas de doublons. Le problème se pose lorsque j est égal à k,' ce qui déclenche la condition zipcodeList[k] == zipcodeList[j]` même pour des éléments uniques.

Sur le nez, répondez...

Pour rectifier cette erreur, nous pouvons améliorer la structure de la boucle en démarrant la boucle interne à k = j 1, comme on le voit ci-dessous :

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;
        }
    }
}

Cette modification garantit que nous comparons chaque élément uniquement avec d'autres éléments uniques, empêchant ainsi les faux positifs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn