Bonjour,

Voici mon soucis :

J'ai un bean Payment avec plusieurs attributs :
- type : operationCode
- date : settleDate
- montant : amount
etc...

je dois trier une liste de payments par type et date

Pour ce faire j'ai utilisé Guava

Je recupère une liste dans ma bdd et ensuite je la trie
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
 
list = Ordering.from(byCodeOpe).compound(bySettleDate).sortedCopy(list);
 
 
 
Comparator<Payment> byCodeOpe = new Comparator<Payment>(){
		public int compare(final Payment p1, final Payment p2){
			return p1.getOperationCode().compareTo(p2.getOperationCode());
		}
	};
 
Comparator<Payment> bySettleDate = new Comparator<Payment>(){
	public int compare(final Payment p1, final Payment p2){
		return p1.getSettleDate().compareTo(p2.getSettleDate());
	}
};
ça marche.


Mais est ce possible de récupérer une liste de sous-liste ? Je m'explique :

Voici une liste de 4 payments récupérée de ma bdd:
Type-----Date----- montant
060 ----- 110306 ---- 150
160 ----- 120306 ---- 140
060 ----- 110307 ---- 120
160 ----- 120306 ---- 130

Actuellement guava me renvoie cette liste triée
Type-----Date----- montant
060 ----- 110306 ---- 150
060 ----- 110307 ---- 120
160 ----- 120306 ---- 130
160 ----- 120306 ---- 140


Ma question , est ce que guava peut me renvoyer une liste de sous-liste de payment, c'est à dire :

--------------Type-----Date----- montant
sous-liste 1---060 ----- 110306 ---- 150

sous-liste 2---060 ----- 110307 ---- 120

sous-liste 3---160 ----- 120306 ---- 130
sous-liste 3---160 ----- 120307 ---- 140


Donc guava renverrait une liste de 3 éléments (3 sous listes)

J'ai vu qu'on pouvait utiliser "Multimaps.index(Iterable, Function)" mais j'ai du mal à comprendre le principe ... et donc je ne sais pas si je fais fausse route ou pas avec ça


Merci d'avance