hm.values()
.stream()
.flatMap(List::stream)
.map(Employee::getId)
.collect(Collectors.toSet());
Так как вас интересуют только идентификаторы, поток превышает values
из HashMap
, и поскольку каждый из них List
(s), вы должны использовать flatMap
, остальное, вероятно, очевидно. Кроме того, так как они различны, как вы говорите, тип возврата Set
имеет гораздо больше смысла.
Если вам все еще требуется List
, просто используйте:
.... .map(Employee::getId)
.distinct()
.collect(Collectors.toList())