Tableau Java equals()
La méthode Arrays.equals()
en Java est une fonction utilitaire fournie par la classe java.util.Arrays
. Il est utilisé pour comparer l'égalité de deux tableaux. Cette méthode vérifie si deux tableaux sont égaux en comparant les éléments des deux tableaux dans l'ordre. Elle est surchargée pour gérer des tableaux de différents types de données, notamment int
, char
, double
, Object
, et bien d'autres encore.
Utilisation
La méthode Arrays.equals()
permet de déterminer si deux tableaux contiennent les mêmes éléments dans le même ordre. Elle renvoie true
si les tableaux sont égaux et false
dans le cas contraire.
Syntax
Arrays.equals(array1, array2);
array1
: Le premier tableau à comparer.array2
: Le deuxième tableau à comparer.
Exemples
Exemple 1 : Comparaison de tableaux d'entiers
import java.util.Arrays;
public class IntegerArrayEqualsExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {1, 2, 3, 4, 5};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are integer arrays equal? " + areEqual);
}
}
Dans cet exemple, deux tableaux d'entiers array1
et array2
sont comparés à l'aide de Arrays.equals()
. Comme les deux tableaux ont des éléments identiques dans le même ordre, la méthode renvoie true
.
Exemple 2 : Comparaison de tableaux de caractères
import java.util.Arrays;
public class CharArrayEqualsExample {
public static void main(String[] args) {
char[] array1 = {'a', 'b', 'c'};
char[] array2 = {'a', 'b', 'd'};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are character arrays equal? " + areEqual);
}
}
Ici, deux tableaux de caractères sont comparés. La méthode Arrays.equals()
renvoie false
parce que les troisièmes éléments de array1
et array2
sont différents ('c' contre 'd').
Exemple 3 : Comparaison des tableaux d'objets
import java.util.Arrays;
public class ObjectArrayEqualsExample {
public static void main(String[] args) {
String[] array1 = {"Java", "Python", "C++"};
String[] array2 = {"Java", "Python", "C++"};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are object arrays equal? " + areEqual);
}
}
Cet exemple permet de comparer deux tableaux d'objets String
. La méthode Arrays.equals()
renvoie true
puisque tous les éléments correspondent dans les deux tableaux.
Conseils et bonnes pratiques
- Utilisation pour les types primitifs :
Arrays.equals()
est efficace pour comparer des tableaux de types primitifs, car il utilise une comparaison directe élément par élément. - Comparaison approfondie pour les réseaux imbriqués : Pour les tableaux contenant d'autres tableaux (par exemple,
int[][]
), utilisezArrays.deepEquals()
pour effectuer une comparaison approfondie.int[][] array1 = {{1, 2}, {3, 4}}; int[][] array2 = {{1, 2}, {3, 4}}; boolean areDeepEqual = Arrays.deepEquals(array1, array2);
- Traitement des nullités : Si l'un des tableaux comparés est
null
,Arrays.equals()
renvoiefalse
, sauf si les deux sontnull
, auquel cas il renvoietrue
. - Évitez les boucles manuelles : Au lieu d'écrire des boucles manuelles pour comparer des tableaux, utilisez
Arrays.equals()
pour un code plus propre et plus lisible.