Вы уже делаете это эффективно.Поэтому, если вы хотите, чтобы вы могли изменить тот же код, чтобы он просто использовал 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, чтобы быть более эффективным, чище и эффективнее.