Comparaison de tableaux d'entiers en Java
Lors de la comparaison de tableaux en Java, il est essentiel de s'assurer de leur équivalence. La comparaison de deux tableaux d'entiers pose un défi spécifique, en particulier lorsqu'un tableau contient des valeurs prédéfinies et que l'autre provient d'un fichier d'entrée.
Comprendre le problème
Le code fourni tente de comparer deux tableaux, array1 et array2. Array1 est d'une taille fixe, tandis que array2 est dimensionné dynamiquement en fonction du premier nombre lu dans le fichier d'entrée. L'intention semble être de déterminer si les deux tableaux sont égaux en longueur et en contenu.
Résoudre le problème
Cependant, la logique du code ne parvient pas à déterminer l'égalité avec précision. Il vérifie si chaque élément du tableau2 correspond à un élément du tableau1 et affiche « vrai » ou « faux » en fonction d'une seule correspondance ou inadéquation, respectivement. Cette approche est insuffisante pour comparer les tableaux dans leur ensemble.
Solution optimale
Pour une comparaison complète, une solution plus simple et plus efficace consiste à utiliser le module intégré Méthode Arrays.equals() en Java :
<code class="java">boolean areEqual = Arrays.equals(array1, array2);</code>
Cette méthode détermine si deux tableaux ont la même longueur et si tous les éléments correspondants sont égaux.
Remarque sur le tri
Il est important de noter que pour que les tableaux soient considérés comme égaux à l'aide de la méthode Arrays.equals(), ils doivent également être triés. Le JavaDoc de la méthode indique que "Deux tableaux sont considérés comme égaux si les deux tableaux contiennent le même nombre d'éléments et que toutes les paires d'éléments correspondantes dans les deux tableaux sont égales."
Par conséquent, si les tableaux sont pas intrinsèquement triés, il est nécessaire de les trier avant de les comparer pour l'égalité.
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!