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
ça marche.
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()); } };
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
Partager