클린 코드 WITH JAVA · 2/16
스트림, 람다, Optional — 1단계
익명 클래스를 람다로 바꾸고, 람다로 합계 로직의 중복을 없애고, 스트림의 map, filter, reduce와 Optional로 조건 반환·기본값·예외 처리를 구현한 미션 기록입니다.
익명 클래스를 람다로 바꾸고, 람다로 합계 로직의 중복을 없애고, 스트림의 map, filter, reduce와 Optional로 조건 반환·기본값·예외 처리를 구현한 미션 기록입니다.
for문 대신 자바 Stream으로 리스트·맵 변환, enum 값 찾기, 합계, 중복 체크, null 처리, 문자열 합치기, reduce를 작성한 예제를 정리합니다.
Collectors.toMap()으로 Map을 만들 때 키가 중복되면 발생하는 IllegalStateException(Duplicate Key)과, 세 번째 인자인 Merge Function으로 값을 병합해 해결하는 방법을 정리합니다.
NPE를 막기 위해 사용했던 컬렉션 null 체크(CollectionUtils.emptyIfNull, Optional.ofNullable, isEmpty)와 Lists.partition, Function.identity()로 Map 만들기를 예제와 흐름도로 정리합니다.