У меня есть класс запроса, подобный этому:
public class Request
{
String name,destName;
int nSeats;
//Example : requestOne,Paris,3
...
}
Я хочу сгруппировать запрос в Map | Integer, List of String | где ключи - это сумма запроса с тем же именем DestName, а значения - имена адресатов.
Вот мой код:
public TreeMap<Integer, List<String>> destinationsPerNSeats() {
return requests.
stream().
collect(Collectors.groupingBy(Request::getnSeats, TreeMap::new,
Collectors.mapping(Request::getDestName, Collectors.toList()))).
}
Ввод:
TreeMap<Integer, List<String>> map = mgr.destinationsPerNSeats();
print(map);
Вывод: {4 = [Париж], 3 = [Лондон, Берлин, Берлин], 2 = [Париж]}
Ожидаемый результат: {6 = [Берлин, Париж], 3 = [Лондон]}
Как я могу решить это? Спасибо!