本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>
目录
- 问题
- 解决
问题
问题:如何将多个list列表转换成一个list列表?
Stackoverflow地址:stackoverflow.com/questions/2…
如果有一个 List<List> 列表,如果利用Java 8的特性转换成List?
解决
方法一、
可以使用flatMap把内置链表转换成单Stream对象,然后再收集结果组成一个链表,参考代码如下:
List<List<Object>> list = ...
List<Object> flat =
list.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
方法二、
其实,这个过程可以不需要Stream对象,直接简化步骤代码:
// listOfLists is a List<List<Object>>.
List<Object> result = new ArrayList<>();
listOfLists.forEach(result::addAll);