list对象转map stream /去重( 根据属性转Map或者分组)
根据某属性转换成Map , List<Student>转成Map<String, Student>
由List<Student>转成以Student的id当成Key,而Student当成Value的Map操作,即Map<String, Student>形式
List<Student> list = new ArrayList<>;
Studnet studnet = new Studnet();
studnet.setId("a1")
studnet.setName("张三");
list.add(studnet);Studnet studnet2 = new Studnet();
studnet2.setId("a1")
studnet2.setName("张三");
list.add(studnet2);//避免key一样报错Duplicate key,【Function.identity()= a->a】
Map<String,Studnet> map = list.stream.collect(Collectors.toMap(Studnet::getId,a->a,(key1,key2)->key2));for(Map.Entry<String,Studnet> m: map.entrySet()){System.out.printLn("key:"+m.getKey()+"- value:"+m.getValue());
}
根据某属性分组, List<Student>转成Map<String, List<Student>>
Map<String,List<Studnet>> studnetGroup= list.stream.collect(Collectors.groupingBy(Student::getId));//操作属性值,然后进行分组
Map<String,List<Studnet>> studnetGroup= list.stream.collect(Collectors.groupingBy(x->x.getName().substring(0,x.getName().length()-1));for(Map.Entry<String,List<Studnet>> data : studentGroup.entrySet()){System.out.printLn("key:"+data.getKey()+"- value:"+data.getValue());List<Studnet> studnetList = data.getValue();studnetList.stram.foreach(x->System.out.println(x))
}
list对象 按照属性去重
List<Student> studentList =new ArrayList<>; Student student = new Student();student.setName("zhangsan");student.setAge(12);strudentList.add(student); Set<Student> studentSet = new TreeSet<>(Comparator.comparing(s->(s.getName())));studnet.addAll(studnetList); List<Student> resultList=new Array<>(studentList);
list对象转map stream /去重( 根据属性转Map或者分组)相关推荐
- stream根据某个字段去重(对象的某个字段去重)
stream根据某个字段去重(对象的某个字段去重) 方案一 重写实体equals.hashcode方法 [重要] 使用infoList.stream().distinct().collect(Coll ...
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- stream流把list转为map
1.对象中的属性转map 通过Collectors.toMap list.stream().collect(Collectors.toMap(Person::getId,Person::getName ...
- java steam 去重_Java中对List去重, Stream去重
问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...
- java steam 去重_Java中对List去重 Stream去重的解决方法
问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...
- 【编程技巧】Stream流之list转map、分组取每组第一条
编程技巧-Stream流之list转map.分组取每组第一条 目录 编程技巧-Stream流之list转map.分组取每组第一条 前言 一.list转map 二.分组取每组第一条数据 总结 前言 JD ...
- java8使用stream流将list转map
stream将list转化为map 在Stream流中将List转换为Map,是使用Collectors.toMap方法来进行转换. 1.key和value都是对象中的某个属性值. Map<St ...
- stream去重_重复数据如何处理?List集合去重的四种方式
List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍.但是,有时候难免会遇到集合里的数据是重复的,需要进行去除. ...
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现map使用功能函数:对象转换为map.xml字符串转化为map 1.将对象的所有属性转化为map键值对 2.转换对象为map,并忽略某 ...
最新文章
- java 调用postgresql 函数_从Java调用PostgreSQL中的存储过程
- 转:WinForm程序中两份mdf文件问题的解决方法
- 话里话外:企业内控的灵魂——企业文化
- java web js加版本号_[Java教程]js 比较版本号(一)
- bootstrap,datetimepicker日期时间选择器-限制时间段,以及中文显示问题
- java里面数字四舍五入,Java数字的四舍五入
- 【免费毕设】基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+lunwen)
- linux进程睡眠的介绍
- iis6.0渗透实战笔记
- 《OpenGL超级宝典》第一章:3D图形和OpenGL简介
- 苹果手机的计算机怎么设置快捷键大全,苹果Macbook快捷键使用大全,超详细!...
- docx文档怎么排列图片_怎么把图片文字转换成word?
- 牛客练习赛53 E.老瞎眼 pk 小鲜肉(离线+BIT单点修改)
- 【多图】二进制的起源,从01到创造天地万物
- 【基础篇】Linux的目录结构
- 2021-10-20-Flask-02 路由与参数解析
- 开源软件和商业软件版本的介绍:alpha、beta、rc、GA等等
- 如何在华为云软件开发云上运行Python
- 数据归一化(详解,含代码实现)
- 视频加密/视频认证/视频添加Logo
热门文章
- 日报(2019.7.4 -- 12.30)
- Digimat-MF:微观-宏观(两尺度)方法
- ORACLE取当天七点半
- 华硕主板固态硬盘不识别_如果ASUS主板BIOS主板无法识别NVMe m.2 SSD,该怎么办?...
- 从零开始学习React——(十二):React单项数据流和混用jQuery以及函数式编程
- matlab和eigen在旋转向量,欧拉角,四元数,旋转矩阵转换的对比(一 旋转矩阵转其他)
- php 基于soap什么协议,网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议
- iOS关于时间的处理
- 为何我总能在闹钟响前醒来?
- 2020中国高校计算机大赛网络技术挑战赛,【科研竞赛】2020年度“中国高校计算机大赛-网络技术挑战赛”...