【发布时间】:2019-07-24 22:51:19
【问题描述】:
我有一个方法,它返回公司作为键和员工列表作为值
<T> Map<String, List<T>> getUserPerCompany(final Function<User, T> converter)。
该方法接受converter 参数,该参数在测试中返回字符串(员工姓名+ 姓氏)。它应该返回:Map<String, List<String>>。我创建了这个实现:
return getUserStream().collect(toMap(Company::getName, c -> converter.apply(c.getUsers())));
错误是:
apply (domain.User) in Function cannot be applied to (java.util.List<domain.User>)
我的问题是我不知道如何将员工传递到“申请”列表而不是完整列表。
我的其他尝试:
return getUserStream().collect(toMap(Company::getName, c -> converter.apply((User) c.getUsers().listIterator())));return getUserStream().collect(toMap(Company::getName, c -> converter.apply((User) c.getUsers().subList(0, c.getUsers().size()))));return getUserStream().collect(toMap(Company::getName, c -> converter.apply((User) c.getUsers().iterator())));
【问题讨论】:
-
未阅读问题,但第一个标题“来自列表(不是列表)”不清楚。
标签: java functional-programming java-stream functional-interface