Bonjour,

Dans le cadre d'un projet, je dois comparer 2 MAP d'objets (Objet : Employé) et faire ressortir les différences des valeurs de chaque objet.

MAP 1 = Key : 1 | Valeur :: Nom : Dupont Prenom : Tony Age : 15
= Key : 2 | Valeur :: Nom : Socle Prenom : Eric Age : 17
= Key : 3 | Valeur :: Nom : Lou Prenom : Sophie Age : 17

MAP 2 = Key : 1 | Valeur :: Nom : Dupont Prenom : Tony Age : 15
= Key : 2 | Valeur :: Nom : Socle Prenom : Eric Age : 15
= Key : 3 | Valeur :: Nom : Lou Prenom : Sophie Age : 17
Résultat que j'ai actuellement :

Key : 2
MAP 1 = Valeur :: Nom : Socle Prenom : Eric Age : 17
MAP 2 = Valeur :: Nom : Socle Prenom : Eric Age : 15
ATTRIBUT DIFFERENT = AGE
Cependant dans mon objet Employé, j'ai maintenant une liste d'un autre objet (facture)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
public static HashMap<String, List<String>> comparaisonMap(HashMap<String,Facture> mapEmp_1, HashMap<String,Facture> mapEmp_2){
 
		HashMap<String, List<String>> resultat = new HashMap<String, List<String>>() ;
		List<String> difList = new ArrayList<String>();
 
		for (String cle: mapEmp_1.keySet()){
		      if (mapEmp_2.containsKey(cle)) {
 
		          difList = mapEmp_1.get(cle).test(mapEmp_2.get(cle));
 
 
		      	  resultat.put(cle, difList);
 
		          }
 
 
		}
 
		return resultat;


Ma méthode de comparaison actuellement dans l'objet employée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public List<String> test(Employe obj) {
 
		List<String> difList = new ArrayList<String>();
		final Employe other = (Employe) obj;
 
		if (nom == null) {
			if (other.nom != null){
				System.out.println("nom");
				difList.add(other.nom);
			}
 
		} else if (!nom
				.equals(other.nom)){
			System.out.println("nom");
			difList.add(other.nom);
		}
Comment je peux faire pour pouvoir comparer ma liste d'objet Facture dans ma fonction test ?

Merci d'avance