Assume we have a list as follows. CoreResult has a field of type List.
CoreResult
List
final List list = new LinkedList
I would go for option 2 or 3. If you want to flatten a List>, you would do this:
List>
List list = doubleList.stream() .flatMap(List::stream) .collect(Collectors.toList());