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
Libérer: 2024-12-07 04:49:10
original
720 Les gens l'ont consulté

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;
        }
    }
}
Copier après la connexion

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;
        }
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal