Collectors.toMap()

Java 8 流的新类 java.util.stream.Collectors 实现了 java.util.stream.Collector 接口,同时又提供了大量的方法对流 ( stream ) 的元素执行 map and reduce 操作,或者统计操作。

Collectors.toMap() 将流中的所有元素导出到一个哈希表 ( Map ) 中。该方法接受两个参数,第一个参数用于生成键 ( key ) ,第二个参数用于生成值 ( value )。两个参数都是 Lambda 表达式。

作用:

  • 流式操作可进行很多的操作

    • 过滤 fliter
    • 运算map
    • 去重distinct //已经做了
    • ……
  • 经过N多的运算、筛选、排序、操作……返回我们需要的集合

toMapExample代码

@Test
public void toMapExample() {List<Double> list = Arrays.asList(1.1, 2.2, 3.3, 4.4, 1.1);Map<String, Double> filterMap = list.stream().filter(d -> d > 2).collect(Collectors.toMap(k -> String.valueOf(k) + new Random().nextInt(10), v -> v + 500));System.out.println(list);System.out.println(filterMap);
}
运行结果:[1.1, 2.2, 3.3, 4.4, 1.1]{3.39=503.3, 2.27=502.2, 4.40=504.4}
*/

Collectors.toMap()相关推荐

  1. Java 8中Collectors.toMap空指针异常源码分析

    当需要将一个List转换为Map时,可以使用 Java 8 中的 Collectors.toMap() 方法,Map是由key-value组成的键值对集合,在使用Collectors.toMap() ...

  2. java 8 Collectors.toMap 重复key 值处理、value为null处理

    1.重复key处理 public static void main(String[] args) {// 查询客户主证件信息 代码省略// 获取客户证件列表List<Map<String, ...

  3. 如何解决Collectors#toMap报Duplicate key xxx错误问题

    文章目录 前言 问题复现 解决方案 前言 最近工作中发现同事写代码遗留了一个bug,在使用Collectors.toMap的时候会出现Exception in thread "main&qu ...

  4. JDK8中Collectors.toMap方法报Duplicate key xxx错误信息

    两种 list转map方式 方式一:这种方式 重复key的话会报错 Duplicate key xxx Map deviceDtoMap = JsonUtils.toList(deviceDtoLis ...

  5. java8 Collectors.toMap value为空,报NullPointerException

    //java8的hashMap.merge存在校验value非空校验,java9已修复 map = list.stream().collect(Collectors.toMap(User::getId ...

  6. JDK8中Collectors.toMap方法报Duplicate key xxx错误信息

    今天在使用JDK8中的Collectors.toMap()方法报错,错误信息是Duplicate key xxx,很明显是因为key重复造成的,此时通过使用Collectors.toMap()的重载方 ...

  7. java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的

    一.Collectors.toList() 现在有个集合: List<User> users = getUserList(); 现在需要将这些user的id提取出来.这个很简单,for循环 ...

  8. java map 空指针异常_Java8使用Collectors toMap,当value为null时报空指针异常

    罪魁祸首就是HashMap的merge方法了,它的第一行就是这个: if (value == null) throw new NullPointerException(); 复制代码 为什么会调mer ...

  9. js 中转换成list集合_java stream中Collectors的用法

    简介 在java stream中,我们通常需要将处理后的stream转换成集合类,这个时候就需要用到stream.collect方法.collect方法需要传入一个Collector类型,要实现Col ...

  10. JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)

    测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...

最新文章

  1. R语言ggplot2可视化自定义多个图例(legend)标签之间的距离实战(例如,改变数据点颜色和数据点大小图例之间的距离)
  2. 没有足够的系统内存来运行此查询。
  3. 2016年蓝桥杯省赛题解
  4. Vue+Openlayers实现绘制线段并测量距离显示
  5. 阿里巴巴在应用性能测试场景设计和实现上的实践
  6. linux7 ntp log,RH254小结(九)rhel7新的ntp对时服务Chrony
  7. ASP.NET Core快速入门(第2章:配置管理)--学习笔记
  8. 包无法安装_详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel
  9. Sublime Text 3 详细安装教程
  10. 百度Q3财报:净利润44亿元 重回增长轨道
  11. 为Bootstrap模态对话框添加拖拽移动功能
  12. gcforest 深度森林原理及实现
  13. xp怎么查看计算机配置,怎么查看xp系统的配置信息
  14. 网络七层协议的通俗理解
  15. ROS 摄像头校准与Apriltag标签使用
  16. FOP生成PDF中文乱码问题解决
  17. 有孚网络与中国科学院虚拟经济与数据科学研究中心签署战略合作协议,推动行业智能化转型加速发展
  18. 各大调音阶之间的对应关系
  19. 高德地图Web端JavaScript API开发(二)---在地图上绘制(点标注)
  20. 毕业设计/论文答辩演讲稿通用模板

热门文章

  1. 2018-2019-1 20165204 实验三 实时系统
  2. JAVA Eclipse 启动 Eclipse 弹出“Failed to load the JNI shared library jvm_dll”怎么办
  3. python实现希尔排序(已编程实现)
  4. 服务器性能低下时正确的处理方法
  5. oracle函数大全-字符处理函
  6. C# Asp.net 制作一个windows服务
  7. C++学习笔记之类和对象I
  8. 平均分配,移动欠费催收款数据的分配应用实例
  9. adb 静默安装_Android静默安装的实现方案(一)
  10. Linux常用基础命令3