所以我有一个id到systemUsers的映射,现在我想创建一个systemUser键和登录值的映射。登录是systemUser类中的一个字段。我对如何编写映射器函数存在疑问,即使这是正确的解决方法
Map<Long, PHSystemUser> systemUserMap = getPersistenceLogic()
.getSystemUsersMap(serviceClientMap.values());
Map<PHSystemUser, String> loginMap = systemUserMap.values().stream()
.map(PHSystemUser::getLogin)
.collect(Collectors.toMap(, ));
答案 0 :(得分:0)
您需要的是直接使用两个功能进行收集:
systemUserMap.values().stream()
.collect(Collectors.toMap(Function.identity(), PHSystemUser::getLogin));
.map(PHSystemUser::getLogin)
的问题在于它将流更改为Stream<String>
,使您没有机会将整个PHSystemUser
对象置于下游。