我有以下表达式
Map<String, String> institutionList = new LinkedHashMap<String, String>();
institutionService.list().forEach(institution -> institutionList.put(institution.getCode(),institution.getName()));
我试过以下。
institutionService.list().stream().collect(Collectors.toMap(Institution::getCode, Institution::getName));
但仍然是错误。如何将其转换为stream()&amp; map()与lambda?
答案 0 :(得分:0)
一个正常工作的例子:
Map<String, String> p = new HashMap<String, String>();
List<String> values = new ArrayList<String>(Arrays.asList("2", "4", "1"));
p = values.stream().collect(Collectors.toMap(String::toString, String::toString));
System.out.println(p);
结果
{1=1, 2=2, 4=4}
如果我们将其转移到您的问题,代码可能如下所示:
我有以下表达式
Map<String, String> institutionList = new LinkedHashMap<String, String>();
institutionList = institutionService.list().stream().collect(Collectors.toMap(Institution::getCode, Institution::getName));
在这种情况下,我假设您的服务提供了类Institution