Inadéquation des tableaux Java()
La méthode Arrays.mismatch()
en Java fait partie du paquetage java.util
et est utilisée pour trouver le premier indice auquel deux tableaux diffèrent. Cette méthode est utile pour comparer des tableaux afin de déterminer où ils commencent à avoir des éléments différents. Elle renvoie l'indice de la première erreur ou -1 si les tableaux sont identiques.
Utilisation
Arrays.mismatch()
est généralement utilisée lorsque vous devez comparer deux tableaux élément par élément afin d'identifier le premier point de différence. Il prend en charge les tableaux de tous les types primitifs ainsi que les tableaux d'objets.
Syntax
int mismatchIndex = Arrays.mismatch(array1, array2);
array1
etarray2
: Les tableaux à comparer.mismatchIndex
: L'index de la première erreur, ou -1 si aucune erreur n'a été trouvée.
Exemples
Exemple 1 : Tableaux identiques
import java.util.Arrays;
public class MismatchExample1 {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {1, 2, 3, 4, 5};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
Dans cet exemple, array1
et array2
sont identiques. La méthode Arrays.mismatch()
renvoie -1, ce qui indique qu'il n'y a pas d'incompatibilité.
Exemple 2 : Différents tableaux
import java.util.Arrays;
public class MismatchExample2 {
public static void main(String[] args) {
String[] array1 = {"apple", "banana", "cherry"};
String[] array2 = {"apple", "berry", "cherry"};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
Ici, les tableaux diffèrent à l'index 1, où "banana" dans array1
est différent de "berry" dans array2
. La méthode Arrays.mismatch()
renvoie la valeur 1.
Exemple 3 : Tableaux de différentes longueurs
import java.util.Arrays;
public class MismatchExample3 {
public static void main(String[] args) {
char[] array1 = {'a', 'b', 'c'};
char[] array2 = {'a', 'b'};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
Dans ce cas, array1
est plus long que array2
. La méthode renvoie 2, qui est l'indice où array2
se termine et où array1
a un élément supplémentaire.
Conseils et bonnes pratiques
- Sécurité nulle: Assurez-vous qu'aucun des tableaux n'est nul avant d'appeler
Arrays.mismatch()
, car cela entraînera une erreur deNullPointerException
. - Longueur des tableaux: Considérez la longueur des deux tableaux. Si les tableaux ont des longueurs différentes et qu'aucune erreur n'est trouvée jusqu'à la longueur du tableau le plus court, la méthode renvoie la longueur du tableau le plus court.
- Performance:
Arrays.mismatch()
peut être plus efficace que l'itération manuelle dans les tableaux, en particulier pour les tableaux de grande taille. - Type Compatibilité: Assurez-vous que les tableaux comparés sont du même type, car la méthode n'effectue pas de conversion de type.
En utilisant Arrays.mismatch()
, les développeurs peuvent déterminer efficacement le premier point de différence entre deux tableaux, ce qui facilite le débogage et les tâches de comparaison de données.