Vérifier que deux tableaux de tableaux contiennent les mêmes éléments (boolean)

Signaler
-
Messages postés
15928
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 juillet 2020
-
Bonsoir,

Comme vous avez pus sans doute le voir via le titre, je cherche à savoir comment je pourrais vérifier que deux tableaux de tableaux contiennent les même éléments.
Je cherche à y arriver proprement sans librairies ou autres (je suis novice). Mais voila tout je galère un max !

exemple de ce que je voudrais faire :

String[][] t = {{"test,"essai","etude"},{"etude","essai";"test"},{"essai","etude"}};
L'appel d'une fonction avec le tableau t passer en paramètre me renverrait false.
Car "test" n'est pas dans le dernier tableau de tableaux. Même sortie si dans le dernier tableau il y avait un mot différent de "test".

J'ai pensé à beaucoup de solutions mais plus je m'aventure et plus je me perd.

J'ai déjà une fonction qui me sert à comparer des chaînes de caractères (egale).
Et je suis sur une piste :
incrémenter une variable int lorsqu'un des mots de mon premier tableau se retrouve dans un autres. mais comment ce servir de cette variable ?

Merci d'avance pour vos aides, j'essais sans relâche et sans me décourager car j'aimerais apprendre !

1 réponse

Messages postés
15928
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 juillet 2020
2 625
Bonjour,

Il faut y aller par étape, je pense que ta solution devrait utiliser trois méthodes :
/**
 * @param tableaux plusieurs tableaux de String
 * @return true si tous les tableaux contiennent les mêmes éléments
 * (pas forcément dans le même ordre)
 */
public static boolean tousEgaux(String[][] tableaux) {
    // utilise la méthode tableauxEgaux
}

/**
 * @param tableau1 un premier tableau de String
 * @param tableau2 un deuxième tableau de String
 * @return true si les deux tableaux contiennent les mêmes éléments
 * (pas forcément dans le même ordre)
 */
public static boolean tableauxEgaux(String[] tableau1, String[] tableau2) {
    // utilise la méthode valeurDansTableau
}

/**
 * @param val une valeur String
 * @param tableau un tableau de String
 * @return true si la valeur est dans le tableau
 */
public static boolean valeurDansTableau(String val, String[] tableau) {
}
Il faut commencer par coder la méthode
valeurDansTableau
et une fois que tu es sûr qu'elle fonctionne, t'en servir pour coder la méthode
tableauxEgaux
qui lorsqu'elle fonctionnera également te servira enfin pour la méthode
tousEgaux
qui est celle dont le résultat t'intéresse.