根据某属性转换成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或者分组)相关推荐

  1. stream根据某个字段去重(对象的某个字段去重)

    stream根据某个字段去重(对象的某个字段去重) 方案一 重写实体equals.hashcode方法 [重要] 使用infoList.stream().distinct().collect(Coll ...

  2. java中给对象的List集合去重的几种方法(Lambda)

    java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...

  3. stream流把list转为map

    1.对象中的属性转map 通过Collectors.toMap list.stream().collect(Collectors.toMap(Person::getId,Person::getName ...

  4. java steam 去重_Java中对List去重, Stream去重

    问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...

  5. java steam 去重_Java中对List去重 Stream去重的解决方法

    问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...

  6. 【编程技巧】Stream流之list转map、分组取每组第一条

    编程技巧-Stream流之list转map.分组取每组第一条 目录 编程技巧-Stream流之list转map.分组取每组第一条 前言 一.list转map 二.分组取每组第一条数据 总结 前言 JD ...

  7. java8使用stream流将list转map

    stream将list转化为map 在Stream流中将List转换为Map,是使用Collectors.toMap方法来进行转换. 1.key和value都是对象中的某个属性值. Map<St ...

  8. stream去重_重复数据如何处理?List集合去重的四种方式

    List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍.但是,有时候难免会遇到集合里的数据是重复的,需要进行去除. ...

  9. java实现对象转换为map、xml字符串转化为map、map转化为xml字符串

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现map使用功能函数:对象转换为map.xml字符串转化为map 1.将对象的所有属性转化为map键值对 2.转换对象为map,并忽略某 ...

最新文章

  1. java 调用postgresql 函数_从Java调用PostgreSQL中的存储过程
  2. 转:WinForm程序中两份mdf文件问题的解决方法
  3. 话里话外:企业内控的灵魂——企业文化
  4. java web js加版本号_[Java教程]js 比较版本号(一)
  5. bootstrap,datetimepicker日期时间选择器-限制时间段,以及中文显示问题
  6. java里面数字四舍五入,Java数字的四舍五入
  7. 【免费毕设】基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+lunwen)
  8. linux进程睡眠的介绍
  9. iis6.0渗透实战笔记
  10. 《OpenGL超级宝典》第一章:3D图形和OpenGL简介
  11. 苹果手机的计算机怎么设置快捷键大全,苹果Macbook快捷键使用大全,超详细!...
  12. docx文档怎么排列图片_怎么把图片文字转换成word?
  13. 牛客练习赛53 E.老瞎眼 pk 小鲜肉(离线+BIT单点修改)
  14. 【多图】二进制的起源,从01到创造天地万物
  15. 【基础篇】Linux的目录结构
  16. 2021-10-20-Flask-02 路由与参数解析
  17. 开源软件和商业软件版本的介绍:alpha、beta、rc、GA等等
  18. 如何在华为云软件开发云上运行Python
  19. 数据归一化(详解,含代码实现)
  20. 视频加密/视频认证/视频添加Logo

热门文章

  1. 日报(2019.7.4 -- 12.30)
  2. Digimat-MF:微观-宏观(两尺度)方法
  3. ORACLE取当天七点半
  4. 华硕主板固态硬盘不识别_如果ASUS主板BIOS主板无法识别NVMe m.2 SSD,该怎么办?...
  5. 从零开始学习React——(十二):React单项数据流和混用jQuery以及函数式编程
  6. matlab和eigen在旋转向量,欧拉角,四元数,旋转矩阵转换的对比(一 旋转矩阵转其他)
  7. php 基于soap什么协议,网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议
  8. iOS关于时间的处理
  9. 为何我总能在闹钟响前醒来?
  10. 2020中国高校计算机大赛网络技术挑战赛,【科研竞赛】2020年度“中国高校计算机大赛-网络技术挑战赛”...