Все, что вам нужно, это собрать напрямую, используя две функции:
systemUserMap.values().stream()
.collect(Collectors.toMap(Function.identity(), PHSystemUser::getLogin));
Проблема с .map(PHSystemUser::getLogin)
состоит в том, что он меняет поток на Stream<String>
, не оставляя вам шансов получить весь PHSystemUser
объект ниже по течению.