시그마 삽질==six 시그마

Java 스트림 중첩 리스트내 inner 리스트 사용 본문

프로그래밍/Java

Java 스트림 중첩 리스트내 inner 리스트 사용

Ethan Matthew Hunt 2020. 4. 3. 20:33

 

List<Field> field=list1.stream()
	.flatMap(a->a.getList2().stream())
	.filter(b-> ..)
	.map(b->b.getList2Field())
	.collect(Collectors.toList());
    
    List<List<Object>> list = ...
    List<Object> flat = 
    list.stream()
        .flatMap(Collection::stream)
        .collect(Collectors.toList());

 

list1 내부 필드인 list2를 끄집어 와서 list2 를 내부반복을 통해 filter링하고(전역변수와 equals,contains비교 등) list2의 필드들을 가져온것

 

핵심은 flatMap 이부분이다 

 

flatMap(v->v.getList2().stream())

 

 

java stream api -map
java stream api -flatMap

 

 

자세한 내용은 요기를 참고하자

 

Comments