Maison >Java >javaDidacticiel >Comment puis-je identifier correctement les entiers en double dans un tableau Java ?

Comment puis-je identifier correctement les entiers en double dans un tableau Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-07 04:49:10717parcourir

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

Java Array, recherche de doublons

Problème :
En Java, un tableau d'entiers est donné, et l'objectif est d'identifier et de signaler tout élément en double dans le tableau. Cependant, une approche actuelle pour détecter les doublons donne un résultat incorrect lorsqu'aucun doublon n'existe.

Code d'origine :

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

Problème dans le code d'origine :
Le problème survient lorsqu'il n'y a pas de doublons dans le tableau. La structure de boucle attribue les doublons comme vrais même dans ce scénario car la boucle interne vérifie l'égalité entre chaque élément et lui-même. Par conséquent, lorsqu'il n'y a pas de doublons, les doublons finissent par être vrais.

Code amélioré pour détecter les doublons :
Pour résoudre ce problème, le code peut être modifié comme suit :

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

Explication :
Ce code modifié inclut une condition supplémentaire (k != j) dans la boucle intérieure. Cette étape garantit que la comparaison n'est effectuée qu'entre des éléments uniques, évitant ainsi la vérification en double de chaque élément avec lui-même. Par conséquent, les doublons ne seront définis sur vrai que lorsque de véritables doublons seront rencontrés, ce qui donnera un résultat précis.

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