Bonjour à tous,
j'ai un problème avec les TreeMap, mais différent de ce qu'on peut trouver habituellement, c'est à dire que je voudrais garder les doublons et non pas les supprimer.
Voila un peu plus d'explication :
Je travaille sur des chambres dans un immeuble, l'utilisateur peut ajouter des chambres et en ajouter deux avec la même désignation (exemple : "chambre231", "chambre231","chambre240","chambre250"). J'ai pour réstriction d'utiliser forcément un TreeMap, qui doit être trié selon la désignation.
Voici donc comment je m'y prend :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TreeMap listeOccupationChambre = new TreeMap(new CompChambreAsc());
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public static class CompChambreAsc implements Comparator {
 
		public int compare(Object o1, Object o2){
 
			if(o1 == null && o2 == null) return 0;
			if(o1 == null) return -1;
			if(o2 == null) return -1;
 
		    return ((Chambre)o2).getDesignation().compareTo(((Chambre)o1).getDesignation());
		  }
	}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Chambre zoneTmp = (Chambre) iterSet2.next();
listeOccupationChambre.put(zoneTmp)
Tout marche donc trés bien sauf qu'il me vire tous les doublons, ce qui est normal puisque mon comparator est sur la "désignation"...Bref comment faire pour obtenir le même résultat trié, mais avec les doublons, en utilisant le même TreeMap ?
Merci beaucoup