Bonjour à tous,

J'aimerais supprimer tous les doublons sur une liste de HashMap
Voici ce que j'ai fait :

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
 
SortedSet hashmapSet =  new  TreeSet (
       new Comparator() {
          public int compare (Object a, Object b) {return (
                                                            (StringUtils.defaultString(((LinkedHashMap)a).get("NOM").toString()).compareTo(StringUtils.defaultString(((LinkedHashMap)b).get("NOM").toString())))               
                                                           +
                                                            (StringUtils.defaultString(((LinkedHashMap)a).get("TEL_PRO").toString()).compareTo(StringUtils.defaultString(((LinkedHashMap)b).get("TEL_PRO").toString())))               
                                                           );
                                                   }        
 
                         }  
                               );
 
 
     LinkedHashMap essai = new LinkedHashMap();
     essai.put("NOM","D");
     essai.put("TEL_PRO","1");
     hashmapSet.add(essai);
     essai.put("NOM","TOTO");
     essai.put("TEL_PRO","1");
     hashmapSet.add(essai);
     essai.put("NOM","D");
     essai.put("TEL_PRO","1");
     hashmapSet .add(essai);
     essai.put("NOM","TITI");
     essai.put("TEL_PRO","2");
     hashmapSet.add(essai);
     essai.put("NOM","D");
     essai.put("TEL_PRO","2");
     hashmapSauv.add(essai);
   List listsansdoublon = new ArrayList( hashmapSet );
 for(int i=0;i<listsansdoublon.size();i++){
        LinkedHashMap hinter = (LinkedHashMap) listsansdoublon.get(i);     
        System.err.println("sans doublon "+hinter);
}
 
// m'affiche uniquement le dernier
Merci de votre aide