У меня есть Java-бин, например
class EmployeeContract {
Long id;
Date date;
getter/setter
}
Если у них длинный список, в котором у нас есть дубликаты по идентификатору, но с другой датой, например:
1, 2015/07/07
1, 2018/07/08
2, 2015/07/08
2, 2018/07/09
Как можно сократить такой список, сохранив только записи с самой последней датой, например:
1, 2018/07/08
2, 2018/07/09
?Предпочтительно с использованием Java 8 ...
Я начал с чего-то вроде:
contract.stream()
.collect(Collectors.groupingBy(EmployeeContract::getId, Collectors.mapping(EmployeeContract::getId, Collectors.toList())))
.entrySet().stream().findFirst();
Это дает мне отображение в отдельных группах, но я застрял в том, как собрать этов список результатов - мои потоки не слишком сильны, я боюсь ...