IT Share you

자바 8 : 스트림 API로 목록 병합

shareyou 2020. 11. 9. 21:35
반응형

자바 8 : 스트림 API로 목록 병합


나는 다음과 같은 상황이 있습니다

Map<Key, ListContainer> map; 

public class ListContainer{
  List<AClass> lst;
}

지도 lst에서 ListContainer개체의 모든 목록을 병합해야합니다 Map.

public static void main(String args[]){
   List<AClass> alltheObjectsAClass = map.values().stream(). // continue....    
}

Java 8 스트림 API를 사용하여 어떻게 생각하십니까?


나는 flatMap()당신이 찾고있는 것이라고 생각 합니다.

예를 들면 :

 List<AClass> allTheObjects = map.values()
         .stream()
         .flatMap(listContainer -> listContainer.lst.stream())
         .collect(Collectors.toList());

대안 : Stream.concat ()

Stream.concat(map.values().stream(), listContainer.lst.stream())
                             .collect(Collectors.toList()

참고 URL : https://stackoverflow.com/questions/23112874/java-8-merge-lists-with-stream-api

반응형