Maison >Java >javaDidacticiel >Comment Java utilise-t-il la fonction deepEquals() de la classe Arrays pour comparer si les tableaux multidimensionnels sont égaux ?

Comment Java utilise-t-il la fonction deepEquals() de la classe Arrays pour comparer si les tableaux multidimensionnels sont égaux ?

王林
王林original
2023-07-25 12:58:481241parcourir

Comment Java utilise-t-il la fonction deepEquals() de la classe Arrays pour comparer si les tableaux multidimensionnels sont égaux ?

En Java, nous avons souvent besoin de comparer si les tableaux sont égaux. Pour les tableaux unidimensionnels, nous pouvons utiliser la fonction equals() de la classe Arrays à des fins de comparaison. Mais pour les tableaux multidimensionnels, la fonction equals() de la classe Arrays ne peut effectuer que des comparaisons superficielles, c'est-à-dire qu'elle compare uniquement si les références du tableau sont égales, mais ne peut pas comparer les éléments spécifiques des tableaux. Pour résoudre ce problème, nous pouvons utiliser la fonction deepEquals() de la classe Arrays pour effectuer des comparaisons approfondies. Cet article explique comment utiliser la fonction deepEquals() pour comparer si les tableaux multidimensionnels sont égaux et fournit des exemples de code correspondants.

Tout d'abord, jetons un coup d'œil à la définition de la fonction deepEquals() :

public static boolean deepEquals(Object[] a1, Object[] a2)

Cette fonction accepte deux tableaux multidimensionnels comme paramètres et renvoie un représentation de la valeur booléenne Si deux tableaux sont égaux. Renvoie vrai si les dimensions, le type et les valeurs des éléments des deux tableaux sont égaux ; sinon, renvoie faux ;

Ci-dessous, nous utilisons un exemple pour démontrer l'utilisation de la fonction deepEquals().

import java.util.Arrays;

public class DeepEqualsExample {
    public static void main(String[] args) {
        int[][] array1 = {{1, 2, 3}, {4, 5, 6}};
        int[][] array2 = {{1, 2, 3}, {4, 5, 6}};

        boolean isEqual = Arrays.deepEquals(array1, array2);

        System.out.println("Arrays are equal: " + isEqual);
    }
}

Dans l'exemple ci-dessus, nous avons défini deux tableaux bidimensionnels array1 et array2, et comparé l'égalité des deux tableaux en utilisant la fonction deepEquals(). Étant donné que les dimensions, le type et les valeurs des éléments des tableaux sont tous les mêmes, la fonction deepEquals() renvoie true. Nous avons vérifié cela avec la sortie.

En plus des tableaux multidimensionnels, la fonction deepEquals() peut également être utilisée pour comparer des tableaux d'objets multidimensionnels imbriqués. Il peut gérer différents types de tableaux, pas seulement des tableaux de types de données de base.

Il est à noter que la fonction deepEquals() ne peut être utilisée que pour comparer des tableaux de mêmes dimensions. Si les dimensions des deux tableaux sont différentes, la fonction deepEquals() lèvera une IllegalArgumentException.

De plus, une chose à comprendre est que la fonction deepEquals() compare uniquement le contenu de deux tableaux et n'implique pas l'ordre des tableaux. Autrement dit, si les éléments de deux tableaux sont identiques mais dans des ordres différents, la fonction deepEquals() retournera toujours true.

En programmation réelle, nous devons souvent comparer si les tableaux multidimensionnels sont égaux. Cette fonction peut être facilement implémentée à l'aide de la fonction deepEquals(), évitant ainsi d'avoir à parcourir manuellement le tableau et à comparer les éléments un par un.

Pour résumer, cet article explique comment utiliser la fonction deepEquals() de la classe Arrays en Java pour comparer si les tableaux multidimensionnels sont égaux. En fournissant des exemples de code, nous démontrons l'utilisation et les effets de la fonction deepEquals(). J'espère que cela vous aidera lors des comparaisons de tableaux multidimensionnels.

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