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.
Résultat que j'ai actuellement :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
Cependant dans mon objet Employé, j'ai maintenant une liste d'un autre objet (facture)Key : 2
MAP 1 = Valeur :: Nom : Socle Prenom : Eric Age : 17
MAP 2 = Valeur :: Nom : Socle Prenom : Eric Age : 15
ATTRIBUT DIFFERENT = AGE
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 :
Comment je peux faire pour pouvoir comparer ma liste d'objet Facture dans ma fonction test ?
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); }
Merci d'avance
Partager