如何将多个list列表转换成一个list列表?

举报
liuzhen007 发表于 2021/07/25 17:11:44 2021/07/25
【摘要】 目录问题解决 问题问题:如何将多个list列表转换成一个list列表?Stackoverflow地址:https://stackoverflow.com/questions/25147094/how-can-i-turn-a-list-of-lists-into-a-list-in-java-8如果有一个 List<List<Object>> 列表,如果利用Java 8的特性转换成List<...

目录

  • 问题
  • 解决

问题

问题:如何将多个list列表转换成一个list列表?

Stackoverflow地址https://stackoverflow.com/questions/25147094/how-can-i-turn-a-list-of-lists-into-a-list-in-java-8

如果有一个 List<List<Object>> 列表,如果利用Java 8的特性转换成List<Object>?

解决

方法一、

可以使用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);
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。