Arrays.equals et toString
Comparez et affichez des tableaux.
Arrays.equals et toString est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.
Comparer et afficher
Les tableaux ne redéfinissent pas equals ni toString d’une manière utile. La classe utilitaire des tableaux fournit equals et toString, qui inspectent réellement le contenu des éléments.
Pourquoi == échoue
Utiliser == sur des tableaux compare les références, et non le contenu. Deux tableaux différents contenant des éléments identiques ne sont pas égaux avec ==.
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(a == b);
}
}Arrays.equals
Arrays.equals(a, b) renvoie true lorsque les deux tableaux ont la même longueur et des éléments égaux aux mêmes positions.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.equals(a, b));
}
}L’ordre est important
L’ordre des éléments est significatif. Deux tableaux contenant les mêmes valeurs dans un ordre différent ne sont pas égaux.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {3, 2, 1};
System.out.println(Arrays.equals(a, b));
}
}Comparer des tableaux d’objets
Pour les tableaux d’objets, Arrays.equals compare les éléments en utilisant leur propre méthode equals.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] a = {"x", "y", "z"};
String[] b = {"x", "y", "z"};
System.out.println(Arrays.equals(a, b));
}
}toString pour un affichage lisible
Afficher directement un tableau produit quelque chose comme [I@1b6d3586, c’est-à-dire le nom de la classe et le hachage. Arrays.toString produit une forme lisible comme [1, 2, 3].
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums);
System.out.println(Arrays.toString(nums));
}
}Tableaux imbriqués : deepEquals
Pour les tableaux de tableaux, equals vérifie uniquement les références externes de chaque ligne. Utilisez Arrays.deepEquals pour comparer le contenu imbriqué.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] a = {{1, 2}, {3, 4}};
int[][] b = {{1, 2}, {3, 4}};
System.out.println(Arrays.equals(a, b));
System.out.println(Arrays.deepEquals(a, b));
}
}Tableaux imbriqués : deepToString
De même, Arrays.deepToString affiche clairement les tableaux imbriqués, tandis que toString afficherait les références internes.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] grid = {{1, 2}, {3, 4}};
System.out.println(Arrays.toString(grid));
System.out.println(Arrays.deepToString(grid));
}
}hashCode pour les tableaux
Si vous avez besoin d’un hachage fondé sur le contenu, utilisez Arrays.hashCode et Arrays.deepHashCode pour les tableaux imbriqués. Ces méthodes sont cohérentes avec Arrays.equals.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.hashCode(a) == Arrays.hashCode(b));
}
}Comparer après le tri
Pour vérifier que deux tableaux contiennent le même multiensemble de valeurs, quel que soit leur ordre, triez une copie de chacun, puis comparez-les avec Arrays.equals.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {3, 1, 2};
int[] b = {2, 3, 1};
int[] ca = Arrays.copyOf(a, a.length);
int[] cb = Arrays.copyOf(b, b.length);
Arrays.sort(ca);
Arrays.sort(cb);
System.out.println(Arrays.equals(ca, cb));
}
}La journalisation simplifiée
Pendant le débogage, placez les tableaux dans Arrays.toString à l’intérieur des instructions d’affichage afin de pouvoir réellement lire les valeurs au lieu de références incompréhensibles.
Vérification rapide
Vérifiez votre compréhension de la comparaison des tableaux.
Récapitulatif
Vous avez appris à comparer et à afficher des tableaux.
==compare les références : utilisezArrays.equalspour comparer le contenu.- L’ordre et la longueur sont tous deux importants.
Arrays.toStringproduit un affichage lisible ;deepToStringgère les structures imbriquées.deepEqualscompare les tableaux imbriqués.
Apprends Java avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 104
- Leçons
- 374
Questions Fréquemment Posées
La leçon « Arrays.equals et toString » est-elle gratuite ?
Oui — le texte complet de « Arrays.equals et toString » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Arrays.equals et toString » ?
Comparez et affichez des tableaux. Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Arrays.equals et toString » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Arrays.sort et tri
- Arrays.binarySearch
- Arrays.fill et copyOf
- Arrays.equals et toString