J'essaye de trier une liste puis de grouper les éléments. Le problème est que lorsque je grouper les éléments, l'ordre de tri est en cours de lancer. Ci-dessous mon morceau de codeComment utiliser Grouper et trier ensemble dans JAVA 8
listOfRooms.stream().sorted(Comparator.comparing(DXARoom::getStayAverageRate))
.collect(Collectors.groupingBy(DXARoom::getRoomInfoLabel));
Voici comment ma sortie vient pour le code ci-dessus
{
"Presidential suite": [
{
"roomInfoLabel": "Presidential suite",
"stayAverageRate": "1696.0",
},
{
"roomInfoLabel": "Presidential suite",
"stayAverageRate": "1729.0",
},
"Premier king room": [
{
"roomInfoLabel": "Premier king room",
"stayAverageRate": "370.0",
},
{
"roomInfoLabel": "Premier king room",
"stayAverageRate": "377.0",
},
}
Fondamentalement, mon exigence est de montrer premier type de chambre la moins chère. Donc la sortie devrait être groupée par première salle de roi d'abord car elle a la pièce la moins chère de 370 £.
SORTIE ATTENDUS ->
{
"Premier king room": [
{
"roomInfoLabel": "Premier king room",
"stayAverageRate": "370.0",
},
{
"roomInfoLabel": "Premier king room",
"stayAverageRate": "377.0",
},
"Presidential suite": [
{
"roomInfoLabel": "Presidential suite",
"stayAverageRate": "1696.0",
},
{
"roomInfoLabel": "Presidential suite",
"stayAverageRate": "1729.0",
}
}
Pouvez-vous s'il vous plaît me suggérer une autre méthode ou ce qui est erroné avec la mise en œuvre ci-dessus, de nouvelles idées sont les bienvenues.
https: // stackoverflow .com/a/28765069/2711488 – Holger