반응형
java8 Stream 02 map과 forEach 활용
stream 방식으로 코딩을 하면 꽤 좋은 점이 코드가 눈에 띄게 줄어든다.
처음 자바8을 접했을 때는 익숙치 않아 거부감도 있었지만 일을 하면서 적용을 해보니 확실히 복잡한 프로그램을 만들 수록 소스 코드가 줄어든다.
누군가에에 도움을 주기 위한 포스팅은 아니고 내가 일하면서 자주 보려 한다.
forEach 끝에 체이닝으로 collect를 넣었다가 한참 헤멨다.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Edu08_Map02 {
public static void main(String[] args) {
List<Map<String, Object>> mapList = new ArrayList<>();
for(int i=0;i < 10 ;i++){
Map<String, Object> m = new HashMap<>();
m.put("name","age"+i);
m.put("workingNumber","100"+i);
mapList.add(m);
}
//원래의 데이터에 어떤 정보를 키값으로 매핑해서 추가해본다.
List<Map<String, Object>> list = mapList.stream()
.map(map-> {
map.put("newVale","안녕하세요");
//어떤 작업을 수행해 map에 새로운 정보나 키를 만들 수 있다.
return map;
})
.collect(Collectors.toList());
//단순히 데이터를 출력해본다. forEach 안에서 어떤 데이터를 인설트하는 작업이나 메일을 보내느 작업으로 활용
mapList.stream().forEach(System.out::println);
//맵의 경우 아래 처럼 값을 확인할 수도 있다.
mapList.forEach( map -> System.out.println(map.get("name")));
}
}
반응형
'슬기로운 자바 개발자 생활 > Java more' 카테고리의 다른 글
맥에서 java17 설치 및 환경변수 셋팅 하기 (0) | 2024.07.28 |
---|---|
자바 스트림 Java stream 01 (0) | 2023.05.28 |
자바8 날짜함수 관련. (0) | 2023.05.26 |
디자인 패턴 간단한 Command 패턴 (0) | 2023.04.18 |
자바로 윤년 체크하기 (0) | 2023.03.29 |
댓글