자바의 stream().map().collect() 를 사용해보자.
원래 C#에서는 리스트에 대해서 list.(o->o.aaa == aaa) 와 같은 동작을 수행 할 수 있었다.
정확히 예를 들면.
사용자 이름 목록이 담긴 리스트에서 성이 김씨인 경우를 모두 모아서 새로운 리스트로 만들기.
이런 동작을 수행 할 수 있다.
자바에도 이런 기능이 있다.
아래처럼 코드를 작성하면 된다.
1
2
3
4
5
6
7
8
9
10
11 |
public void streamTest(){
List<Event> events = new ArrayList<>();
events.add(Event.builder().name("21312").build()); //빌더 패턴을 사용해서 리스트에 객체 저장
events.add(Event.builder().name("hihi").build());
events.add(Event.builder().name("hello").build());
List<String> stringList = events.stream().map(o->o.getName()).collect(Collectors.toList()); // 바로 이 부분
// 이름들만 모아서 새로운 String 리스트를 만들어 낼 수 있다.
for (String names: stringList) {
System.out.println(names);
}
} |
cs |
'Java' 카테고리의 다른 글
java로 외부 파일 실행하기 (0) | 2019.06.06 |
---|---|
Mac OS gradle 설치 , 환경 변수 설정 (4) | 2019.05.29 |
UML 통합 모델링언어 / 클래스 다이어그램 (0) | 2017.10.11 |
자바 죽음의 다이아몬드 문제 / java Deadly Diamond of Death (0) | 2017.09.28 |
제네릭을 메소드에 적용하기 (0) | 2017.09.23 |
댓글