java8 list转换对象_Java8将List对象转换Map「建议收藏」

java8 list转换对象_Java8将List对象转换Map「建议收藏」基于Java8的函数式编程概念,去实现List转换MappublicclassDemoMian2{publicstaticvoidmain(String[]args){ListusersList=newArrayList();Usersusers=newUsers();users.setId(1L);users.setName(“张三”);users.setSex(…

大家好,又见面了,我是你们的朋友全栈君。

基于Java8的函数式编程概念,去实现List转换Map

public class DemoMian2 {

public static void main(String[] args) {

List usersList = new ArrayList();

Users users = new Users();

users.setId(1L);

users.setName(“张三”);

users.setSex(“男”);

users.setCity(“深圳”);

usersList.add(users);

Users users2 = new Users();

users2.setId(2L);

users2.setName(“张三”);

users2.setSex(“男”);

users2.setCity(“上海”);

usersList.add(users2);

Users users3 = new Users();

users3.setId(3L);

users3.setName(“张三”);

users3.setSex(“男”);

users3.setCity(“深圳”);

usersList.add(users3);

Users users4 = new Users();

users4.setId(4L);

users4.setName(“张三”);

users4.setSex(“男”);

users4.setCity(“上海”);

usersList.add(users4);

Map collect = usersList.stream().collect(Collectors.toMap(Users::getId, Users -> Users));

collect.forEach((key, value) -> System.out.println(key + “-” + value));

}

}

/*

1-Users{id=1, name=’张三’, sex=’男’, city=’深圳’}

2-Users{id=2, name=’张三’, sex=’男’, city=’上海’}

3-Users{id=3, name=’张三’, sex=’男’, city=’深圳’}

4-Users{id=4, name=’张三’, sex=’男’, city=’上海’}

*/

注意:需要转换的key不能重复,如果出现重复的话,会报错已存在key

Exception in thread “main” java.lang.IllegalStateException: Duplicate key

Users{id=3, name=’张三’, sex=’男’, city=’深圳’}

处理重复key可以使用如下模式:

package com.mars;

import java.util.*;

import java.util.function.Function;

import java.util.stream.Collectors;

/**

* TODO

*

* @Author: Yizq

* @Date: 2020/10/27 1:49 下午

*/

public class DemoMian2 {

public static void main(String[] args) {

List usersList = new ArrayList();

Users users = new Users();

users.setId(1L);

users.setName(“张三”);

users.setSex(“男”);

users.setCity(“深圳”);

usersList.add(users);

Users users2 = new Users();

users2.setId(2L);

users2.setName(“张三”);

users2.setSex(“男”);

users2.setCity(“上海”);

usersList.add(users2);

Users users3 = new Users();

users3.setId(3L);

users3.setName(“张三”);

users3.setSex(“男1”);

users3.setCity(“深圳”);

usersList.add(users3);

Users users4 = new Users();

users4.setId(3L);

users4.setName(“张三”);

users4.setSex(“男2”);

users4.setCity(“上海”);

usersList.add(users4);

Map collect = usersList.stream().collect(Collectors.toMap(Users::getId, Function.identity(), (key1, key2) -> key2));

collect.forEach((key, value) -> System.out.println(key + “-” + value));

}

}

/*

1-Users{id=1, name=’张三’, sex=’男’, city=’深圳’}

2-Users{id=2, name=’张三’, sex=’男’, city=’上海’}

3-Users{id=3, name=’张三’, sex=’男2′, city=’上海’}

*/

使用这种方式,在处理过程中会将存在的key进行覆盖

标签:Map,Users,usersList,张三,List,users4,users2,users3,Java8

来源: https://www.cnblogs.com/xianbeier/p/14068382.html

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145620.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • javascript 防止重复提交

    javascript 防止重复提交

  • 前端Datatables自定义事件(监听Datatables插件一些常见的事件动作)

    前端Datatables自定义事件(监听Datatables插件一些常见的事件动作)

  • 公钥\私人 ssh避password登陆

    公钥\私人 ssh避password登陆

  • VB程序设计教程(第四版)龚沛曾-实验8-2

    VB程序设计教程(第四版)龚沛曾-实验8-2实验8-2将斐波那契数列的前10项写入文件Fb.dat,然后从该文件将数据读取出来并计算合计和平均数,最后送入列表框。要求:文件数据格式如2.8.2所示,列表框中项目格式如图2.8.3所示。解题,画2个按钮,1个列表框控件,代码如下:PrivateSubCommand1_Click()Dimfib%(0To9),i%Open”c:\fb.dat…

  • Pytorch中DataLoader的使用[通俗易懂]

    Pytorch中DataLoader的使用[通俗易懂]前言最近开始接触pytorch,从跑别人写好的代码开始,今天需要把输入数据根据每个batch的最长输入数据,填充到一样的长度(之前是将所有的数据直接填充到一样的长度再输入)。刚开始是想偷懒,没有去认真了解输入的机制,结果一直报错…还是要认真学习呀!加载数据pytorch中加载数据的顺序是:①创建一个dataset对象②创建一个dataloader对象③循环dataloader对象,将data,label拿到模型中去训练dataset你需要自己定义一个class,里面至少包含3个函数:①_

  • 移动ipv6不是公网_移动光纤申请公网ip

    移动ipv6不是公网_移动光纤申请公网ip 之前有人看到我的蜗牛在移动宽带下还能搞外网访问《奶妈级教程:移动宽带下的IPV6+DDNS+私有域名访问黑群晖》,各种问我怎么申请IPv6?搞得我一头雾水,因为真的不需要申请!!!  早在2018年5月份,全网已经开始实施IPv6全覆盖了,移动宽带光纤能到的地方貌似都已经开通了IPv6了,所以我们需要的只是一个能获取IPv6的光猫而已。  最直接的方法当然是打10086去问问啦,不过貌似客服知道的也不多,甚至不知道IPv6是啥?  那就自己度娘“光猫型号+参数”,自己去看支不支持吧?  又

发表回复

您的电子邮箱地址不会被公开。

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