首页 > 其他分享 >Stream流将list装换为map

Stream流将list装换为map

时间:2023-08-24 18:14:07浏览次数:32  
标签:map name list telephone 装换 User address id 手机号

首先定义的userList内容如下:

[User(id=1, name=第一人, telephone=第一手机号, address=第一住址),

User(id=2, name=第二人, telephone=第二手机号, address=第二住址),

User(id=1, name=第三人, telephone=第三手机号, address=第三住址),

User(id=1, name=第四人, telephone=第四手机号, address=第四住址)]

 

根据id转换为map(去重)
Map<Integer, User> map = userList.stream().collect(Collectors.toMap(User::getId, User -> User,(key1,key2)->key1));

之后结果为
{1=User(id=1, name=第一人, telephone=第一手机号, address=第一住址),
2=User(id=2, name=第二人, telephone=第二手机号, address=第二住址)}

根据id转换为map(不去重)
Map<Integer, List<User>> collect1 = userList.stream().collect(Collectors.groupingBy(User::getId));

之后的结果为
{1=[User(id=1, name=第一人, telephone=第一手机号, address=第一住址), User(id=1, name=第三人, telephone=第三手机号, address=第三住址), User(id=1, name=第四人, telephone=第四手机号, address=第四住址)],
2=[User(id=2, name=第二人, telephone=第二手机号, address=第二住址)]}

标签:map,name,list,telephone,装换,User,address,id,手机号
From: https://www.cnblogs.com/ahulwj/p/17654830.html

相关文章

  • java List<Map>去重
    1.情景展示在实际开发中,有时我们需要对List集合当中的元素进行去重。而List当中的元素往往是对象,我们需要根据对象当中的某个或者多个属性值进行判断,才能去重。如何实现?2.具体分析在java当中,Set集合当中的元素具有唯一性。利用这一特性,我们可以完成去List集合当中的元素进......
  • 交通网络分析性能再升级,SuperMap iServer新增开启SSC分析模型
    导语SSC分析模型,全名SuperMapShortCut,底层采用ContractionHierarchies(简称CH)算法,该算法旨在通过对图形进行预处理和优化来降低最佳路径分析的时间复杂度。SuperMapiServer11i(2023)(以下简称iServer)对交通网络分析服务的最佳路径分析,支持开启SSC分析模型,可大幅提升分析性能......
  • springboot3 集成mybatis 和通用mapper
    xml版本查看:https://www.cnblogs.com/binz/p/6564490.htmlspringboot3.x以前的版本查看https://www.cnblogs.com/binz/p/17421063.htmlspringboot3.x查看  https://www.cnblogs.com/binz/p/17654403.html1、pom引用<parent><groupId>org.springframework.boot</gro......
  • @Value注解读取yml中的map/list配置
    读取map1、配置文件写法common:map:'{"username":"lisi","password":"123456"}'2、java代码的写法@Value("#{${common.map}}")privateMap<String,Object>map;读取list1、配置文件写法common:list:1,2,32、ja......
  • 将request中的参数转换成map
    /***将request中的参数转换成map*/publicstaticMap<String,String>requestParamsToMap(HttpServletRequestrequest){Map<String,String>reqMap=newHashMap<>();Enumerationenu=request.getParameterNames();while(enu.hasMoreEl......
  • weakmap的应用
     目录前言导语 代码部分前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语WeakuMap编辑 代码......
  • List<Dictionary<string, string>> 去重方法
    List<Dictionary<string, string>>可以使用LINQ的Distinct()方法来去重。不过需要提供一个自定义的Comparer。实现接口IEqualityComparerpublicclassDictionaryComparer:IEqualityComparer<Dictionary<string,string>>{publicboolEquals(Dictionary<string,st......
  • elasticsearch创建索引带mappings和settings
    一、通过kabana控制台创建我们在kabana控制台创建一个record_feature_tag的索引,对应的mapping配置如下PUT/record_feature_tag{"mappings":{"properties":{"_class":{"type":"keyword"},&quo......
  • ArrayList和Vector及LinkedList的区别
    1.ArrayList和Vector的区别第一句话:ArrayList和Vector底层都是数组实现的,初始容量都为10;在ArrayList的底层,是通过定义一个DEFAULT_CAPACITY的常量来指定的,而Vector的底层,是直接在空参构造中,通过写死了一个this(10)来指定的;第二句话:Vector大部分方法的底层实现,都加了synchronized......
  • bitmap_allocator
    相关数据结构:blocks,super-blocks,bitmap,mini-vectorblock:分配单元,super-block:管理单元super_block_size=usecount+bitmap+blocks*block_sizemini-vector是控制单元,mini-vector中每两个元素(两根指针)指向某个super-block中的blocks的start和end。随着内存分配需求的增加......