怎么使用Java 8 Stream将List(Object)转成List(Map(String, Object))?

怎么使用Java 8 Stream将List(Object)转成List(Map(String, Object))?问题描述:有一个用户列表List<User>,须将每个User部分字段提取出来,重新放入一个Map中,然后将生成的Map放入List中。原来代码如下:publicstaticList<Map<String,Object>>toListMap(List<User>userList){List<Map<Stri…………

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题描述:有一个用户列表List<User>,须将每个User部分字段提取出来,重新放入一个Map中,然后将生成的Map放入List中。

原来代码片段如下:

public static List<Map<String, Object>> toListMap(List<User> userList) {
    List<Map<String, Object>> result = new ArrayList<>();
    Map<String, Object> map;
    for (User user : userList) {
       map = new HashMap<>();
       map.put("username", user.getUsername());
       map.put("age", user.getAge());
       map.put("gender", user.getGender());
       result.add(map);
    }
    return result;
}

使用Java 8 stream后,用map做转换,参考代码片段如下:

方法一:

private Map<String, Object> toMap(User user) {
    Map<String, Object> map = new HashMap<>();
    map.put("username", user.getUsername());
    map.put("age", user.getAge());
    map.put("gender", user.getGender());
    return map;
}

List<Map<String, Object>> data = userList.stream()
                .map(this::toMap)
                .collect(Collectors.toList());

方法二(一步到位)

List<Map<String, Object>> data = userList.stream().map(user -> {
            Map<String, Object> map = new HashMap<>();
            map.put("username", user.getUsername());
            map.put("age", user.getAge());
            map.put("gender", user.getGender());
            return map;
        }).collect(Collectors.toList());

​    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197815.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jdbc是数据库连接池么_零之轨迹超详细攻略

    jdbc是数据库连接池么_零之轨迹超详细攻略JDBC数据库连接池一、JDBC数据库连接池的必要性二、数据库连接池技术三、多种开源的数据库连接池3.1C3P0数据库连接池3.2DBCP数据库连接池3.3Druid(德鲁伊)数据库连接池一、JDBC数据库连接池的必要性1、在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:(1)在主程序(如servlet、beans)中建立数据库连接(2)进行sql操作(3)断开数据库连接2、这种模式开发,存在的问题:(1)普通的JDBC数据库连接使用DriverManager来

    2025年12月13日
    3
  • 阿里云如何申请免费ssl证书_https证书部署

    阿里云如何申请免费ssl证书_https证书部署本文SSL证书相关申请管理员扫描微信公众号方式登录:https://cloud.tencent.com工作台->搜索SSL证书->申请免费证书部署申请完毕后,在列表下载证书,解压后找到tomcat文件夹,有两个文件keystorePass.txt存放秘钥,www.njpingpang.com.jks为证书。把www.njpingpang.com.jks证书放入服务器tomcat/conf文件夹下。更改server.xml文件keystorePass:keystore

    2025年10月17日
    5
  • PHP TCPDF导出支持中文的pdf

    PHP TCPDF导出支持中文的pdfPHP使用TCPDF导出支持中文的pdf一、下载https://github.com/tecnickcom/tcpdf下载TCPDF压缩包二、使用方法 require_once(‘./TCPDF/tcpdf.php’); $pdf=new\TCPDF(); $pdf->AddPage(); $html=”<p>helloworld你好世界</p>”; $pdf->WriteHtml(20,$html); //四种模式I输出

    2025年10月3日
    2
  • idea 2021 11.1 激活码_最新在线免费激活「建议收藏」

    (idea 2021 11.1 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlF6EG2ZUBVX-eyJsaWN…

    2022年3月28日
    132
  • 创业创意

    创业创意

    2021年12月8日
    38
  • SaaS管理软件_软件saas

    SaaS管理软件_软件saas山寨SaaS今天又有一个人问我SaaS了,而且显然看了不少资料,也总结与思索了许多。但他与我交流后,我觉得有些话我也要总结总结,我对SaaS的一些观点和想法也清晰了不少,所以记了下来。大家都把SaaS定位在中小企业的身上。这个观点我也认同。因为我遇到的客户恰恰层次比较清晰:1进货卖货当渠道的经销商。本身自己不生产不设计,只是他从厂家进货,然后自己卖了,中间打个价差而已。他们主要的业务就…

    2022年9月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号