JDK1.8 List转Map
使用guava
Map<Long, User> maps = Maps.uniqueIndex(userList, new Function<User, Long>() {@Overridepublic Long apply(User user) {return user.getId();}});
使用JDK1.8
Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId,Function.identity()));
JDK 1.8。转换成map
的时候,可能出现key
一样的情况,如果不指定一个覆盖规则,上面的代码是会报错的。转成map
的时候,最好使用下面的方式:
Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(), (key1, key2) -> key2));
map
的值是对象的某个属性,用下面的方式:
Map<Long, String> maps = userList.stream().collect(Collectors.toMap(User::getId, User::getAge, (key1, key2) -> key2));
JDK1.8 List转Map相关推荐
- 记录JDK1.8 List 转 Map 的时候遇到的坑
今天准备把list转map的时候,遇到一个异常,一直没想通怎么回事. 执行代码的时候是这个异常. 代码: new Thread(() -> {List<Cldict> list = ...
- java jdk1.8 List转Map
这里基本上是可以确认唯一一条记录,才这样做: 使用JDK1.8 Map<Long, User> maps = userList.stream().collect(Collectors.to ...
- Java Map集合
Map集合: Map接口 Map与List.Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射.同时它也没有继承Collection.在Map中它保证了key与value之间 ...
- Java遍历Map五种方法
一.Map集合遍历日常开发最常使用,简单总结五种方法差异. ①.Iterator+entrySet写法[推荐JDK8以下],Map.Entry是Map接口的内部接口,获取迭代器,然后依次取出每个迭代器 ...
- HashMap 源码
1.8 阈值 resize()函数 threshold = newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY); 16*0.7 ...
- 【代码质量】-阿里巴巴java开发手册(代码质量提升神器)学习笔记
前言:<阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,有了这些前人总结的经验,可以帮助我们写出高质量的代码,同时可以减少Bug数量,少踩坑,提高代码的可读性 ...
- 为什么说 HashMap 是无序的
1. 为什么说 HashMap 是无序的 HashMap 和 HashSet 遍历元素时是无序的,这恐怕是一个常识了,但是你有没有想过为什么是无序的?TreeMap 和 LinkedHashMap 是 ...
- Java基础总结(初学者)
Java基础 java语言 库API(应用程序访问接口) 资产管理 分层思想 面向对象 接口使用 类型转换,转换为什么类型就要在什么类型中定义方法 JDK,JRE,JVM关系? JDK>JRE& ...
- Java SE 7 新增特性
Java SE 7 新增特性 作者:Grey 原文地址: Java SE 7 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...
- HashMap 底层源码细致分析
JDK集合HashMap 底层源码细致分析 前言 提示:对于初始 HashMap 的小伙伴来说,不推荐直接硬啃,建议先看一下如下几个视频教程之后再回头好好理解.(一遍看不懂则反复看,一小块一小块的找对 ...
最新文章
- php preg_match 只匹配第一个字符_PHP正则表达式核心技术完全详解 第12节知识补充 断言匹配
- android中PreferencesActivity的使用(一)
- java序列化和RMI
- 互联网或将进入泡沫2.0时代
- oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- STM32开发 -- UCOSII
- [solr] - solr5.2.1环境搭建 - 使用solr自带的jetty服务器
- Angular单元测试框架里API toHaveBeenCalledTimes的工作原理
- [转]每秒处理10万订单乐视集团支付架构
- 将GPIO外设挂到Cortex_M3 AHB总线上详细流程扩展外设步骤总结
- linux编辑文件命令 vi_Linux的vi编辑器
- gdb学习汇编(三)
- wamp2.2c集成环境搭建网站问题总结
- matlab模糊闭包,基于matlab的模糊聚类分析
- python中、函数定义可以不包括以下一对圆括号_在python中,参数在函数定义的圆括号对内指定,用分号分割...
- 网络基础该从哪开始补?这36张图,一次性理清
- doctrine 关系
- 【R语言技巧】apply篇 sumNotes
- 最美的时光在飞逝,为什么还在努力的路上蹒跚?
- USB电路EMC设计标准电路详解