Bonjour à tous,
J'aimerais supprimer tous les doublons sur une liste de HashMap
Voici ce que j'ai fait :
Merci de votre aide
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
Partager