Bonjour je dispos d'un HashSet et j'aimerais le trier selon un champ (montant) particulier.
La classe contenue dans ce Hashset implémente l'interface Comparable et la méthode compareTo est définie. Voila le code:
Ensuite j'ai besoin de trier cette collection
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 public class SponsorArgent extends Sponsor implements IsSerializable, Comparable { private Double montant; /** * Contructeur de la classe SponsorArgent * Constructeur vide necessaire pour implementer IsSerializable */ public SponsorArgent(){ } /** * Contructeur de la classe SponsorArgent * Construit le sponsor de type argent * @param nom * Nom du sponsor * @param adresse * Adresse du sponsor * @param url * URL du logo du sponsor * @param contribution * Type de contribution du sponsor * @param montant * Montant du sponsor */ public SponsorArgent(String nom, String adresse, String url, String contribution, Double montant) { super(nom, adresse, url, contribution); this.montant=montant; } /** * getAdresse recupere le montant du sponsor * @return Retourne le montant du sponsor */ public Double getMontant() { return montant; } @Override public int compareTo(Object o) { // TODO Auto-generated method stub SponsorArgent sp= (SponsorArgent)o; return (montant.compareTo(sp.getMontant())); } }
Je recupere ce hashset:
et je la trie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part HashSet<Sponsor> listeSponsor = appli.getMesSponsors();
mais sort est souligné en rouge dans eclipse .
Code : Sélectionner tout - Visualiser dans une fenêtre à part Collections.sort(listeSponsor);
quelqu'un pourrait -il m'aider svp ?
Partager