1 回答
TA贡献1852条经验 获得超1个赞
您已经在以有效的方式进行操作。因此,如果您愿意,可以将相同的代码更改为仅使用stream().forEach,或者如果想更多地使用流,请执行以下操作:
titleList.stream()
.forEach(titleMap ->
combineList.addAll(
codeList.stream()
.filter(codeMap -> titleMap.get("ID").equals(codeMap.get("ID")))
.map(codeMap -> {
Map<String, Object> tempMap = new HashMap<>();
tempMap.put("ID", titleMap.get("ID"));
tempMap.put("NAME", titleMap.get("NAME"));
tempMap.put("ID", codeMap.get("ID"));
tempMap.put("AGE", codeMap.get("AGE"));
return tempMap;
})
.collect(Collectors.toList())
)
);
请注意,您每次都必须从 codeList 中进行过滤,因为您的条件就是这样。尝试使用类来代替 Map 更高效、更清洁和更有效。
添加回答
举报