我已经关注了许多链接,例如:https://www.mkyong.com/java8/java-8-convert-list-to-map/和Java 8 List
Map<Integer, List<Integer>>
假设一名员工可以在多个部门工作,所以我试图在这里实现这一点
这是我的代码:
List<Map<String, Object>> results = jdbcTemplate.queryForList(SQL, empId);
Map<Integer, List<Integer>> resultMap = new HashMap<>();
List<Integer> tempLst = new ArrayList<>();
for (Map<String, Object> map : results) {
tempLst.add(Integer.valueOf(map.get("DEPARTMENT_ID").toString().trim()));
}
resultMap.put(empId,tempLst);
我尝试了如下所示:
results.stream().collect(Collectors.toMap(currencyId, Arrays::asList))
但这并不能达到我的目的,我也尝试过
results.stream().collect(groupingBy(currencyId, mapping(Integer.valueOf(map.get("EMP_ID").toString().trim()), toList())));
Map<String,List<Integer>> collect = maps.stream().flatMap(x -> x.entrySet().stream())
.filter(y->y.getKey().equalsIgnoreCase("Department1"))
.collect(Collectors.groupingBy(Map.Entry::getKey,Collectors.mapping(Map.Entry::getValue,Collectors.toList())));
我在这里转换了