Bonjour,
soit une liste, cette liste d'objets <HistoriqueChargement> comporte parfois des objets dont certains ont un attribut identique.
Si cet attribut "code" est donc identique, je souhaite "fusionner" ces objets dans une nouvelle liste.
Cependant, les objets ainsi fusionnés de ma nouvelle liste s'affiche en double. Si vous pouviez m'expliquer mon erreur.
Mon code :
Sortie en console :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 List<HistoriqueFichierFusionne> laNouvelleListe = new ArrayList<HistoriqueFichierFusionne>(); HistoriqueChargement historiqueChargementPrecedent = null; for (HistoriqueChargement historiqueChargement : laListeDesHistoriqueChargement) { HistoriqueFichierFusionne leNouvelHistorique = new HistoriqueFichierFusionne(); for (int i = 0; i < laListeDesHistoriqueChargement.size(); i++) { if (historiqueChargementPrecedent == null) { historiqueChargementPrecedent = laListeDesHistoriqueChargement.get(0); } else { historiqueChargementPrecedent = laListeDesHistoriqueChargement.get(i); } if (historiqueChargement.getCode().compareTo(historiqueChargementPrecedent.getCode()) == 0) { leNouvelHistorique.setCode(historiqueChargement.getCode()); leNouvelHistorique.setAnnee(leFormulaire.getLesCriteresRechercheSuiviInterface().getAnneeRecherchee()); if (historiqueChargement.getLeTypeIntegrationFichier().equals(TypeIntegrationFichier.PREVISIONNELLE)) { leNouvelHistorique.setDateIntegrationPrevisionnelle(historiqueChargement.getDateIntegration()); } if (historiqueChargement.getLeTypeIntegrationFichier().equals(TypeIntegrationFichier.DEFINITIVE)) { leNouvelHistorique.setDateIntegrationDefinitive(historiqueChargement.getDateIntegration()); } if (historiqueChargementPrecedent.getLeTypeIntegrationFichier().equals( TypeIntegrationFichier.PREVISIONNELLE)) { leNouvelHistorique.setDateIntegrationPrevisionnelle(historiqueChargementPrecedent.getDateIntegration()); } if (historiqueChargementPrecedent.getLeTypeIntegrationFichier().equals(TypeIntegrationFichier.DEFINITIVE)) { leNouvelHistorique.setDateIntegrationDefinitive(historiqueChargementPrecedent.getDateIntegration()); } } } laNouvelleListe.add(leNouvelHistorique); }
976 2017 2017-05-01 08:00:00.0 2017-12-01 08:00:00.066
976 2017 2017-05-01 08:00:00.0 2017-12-01 08:00:00.066
B21 2017 2017-05-01 08:00:00.0 2017-12-01 08:00:00.008
B21 2017 2017-05-01 08:00:00.0 2017-12-01 08:00:00.008
Par avance, je vous remercie de votre aide
Partager