Language/JAVA
Stream API
idleday
2024. 2. 27. 18:04
// 요양기관번호를 key로 하여 병원목록을 map으로 변환
Map<String, EocsMap> hpMap = hplist.stream()
.collect(Collectors.toMap(hp -> ((ListOrderedMap) hp).get("hpNo").toString(), Function.identity()));
// 방법1. map모두 합치기
List<EocsMap> newlist = csIssuelist.stream()
.map(i -> {
i.putAll(hpMap.getOrDefault(i.get("hsptCd"), new EocsMap()));
return i;
})
.collect(Collectors.toList());
map.put("csIssuelist", newlist);
// 방법2. map 요소 중 뽑아서 합치기
List<EocsMap> newlist = csIssuelist.stream()
.map(i -> {
EocsMap hp = hpMap.get(i.get("hsptCd"));
if(!MapUtils.isEmpty(hp)) {
i.put("verClient", hp.get("verClient"));
i.put("verServer", hp.get("verServer"));
}
return i;
})
.collect(Collectors.toList());