map集合的putall_Map.put和Map.putAll方法之间的区别?
当使用putAll而不是put时,我看到巨大的性能优势。 请参见下面的示例程序:
公共类SampleTest {
public static void main(final String[] args) {
final Map testMap = new HashMap<>();
final Map testMap2 = new HashMap<>();
final LocalDateTime startTestTime = LocalDateTime.now();
for(int i=0; i < 1000000; i++) {
testMap.put(i+"", i+"");
}
final LocalDateTime endTestTime = LocalDateTime.now();
System.out.println("<<<<<<<<>>>>>>>>>>");
System.out.println(ChronoUnit.MILLIS.between(startTestTime, endTestTime));
final LocalDateTime startTestTime1 = LocalDateTime.now();
testMap2.putAll(testMap);
final LocalDateTime endTestTime1 = LocalDateTime.now();
System.out.println("<<<<<<<<>>>>>>>>>>");
System.out.println(ChronoUnit.MILLIS.between(startTestTime1, endTestTime1));
}
}
这返回(毫秒):
<<<<<<<<>>>>>>>>>>
1934
<<<<<<<<>>>>>>>>>>
116
结论: 的putAll()肯定更比使用下面的免责声明更高效。 1.此结果在我的机器上(即取决于机器配置)。但你仍然看到很大的差异。 2.如上所述Map是一个接口,所以性能取决于实现,我已经考虑到了HashMap的广泛使用。 所以如果性能是一个约束,你可以更喜欢putAll()为HashMap atleast。
map集合的putall_Map.put和Map.putAll方法之间的区别?相关推荐
- 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )
文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...
- Pandas中map,applymap和apply方法之间的区别
本文翻译自:Difference between map, applymap and apply methods in Pandas Can you tell me when to use these ...
- string转map集合_[系列文章] Go - Map 集合
概述 Map 集合是无序的 key-value 数据结构. Map 集合中的 key / value 可以是任意类型,但所有的 key 必须属于同一数据类型,所有的 value 必须属于同一数据类型, ...
- java map集合排序的_Java对Map集合进行排序
Java对Map集合进行排序 实现 Comparator 接口,重写compare方法,完成自定义排序 int compare(Object o1, Object o2) 返回一个基本类型的整型 如果 ...
- java遍历map集合传值,不同方式遍历Map集合(全)
今天一朋友问我有关map集合的遍历问题,说真的当时真是懵了似懂非懂的,下面我通过查阅资料,具体内容整理如下: public static void main(string[] args){ map m ...
- forEach、map、filter、some、every、find之间的区别
前言: 从一开始学了javascript中的for循环遍历方法,到后来了解到forEach.vue中的v-for.map等方法,经常会搞不清楚其中的区别,今天就来粗略的解释一下, for循环我就不说了 ...
- java中redis存储map集合_使用RedisTemplate存储Map集合的一点注意
SpringBoot框架无需进行复杂整合,可使用SpringBoot依赖所引入的 org.springframework.data.redis.core.RedisTemplate来直接进行操作,但需 ...
- java list map嵌套_java Map集合嵌套,value为Map和value为List
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 * 结果yingyong这个key对应的value集合是null * 遍历Map的时候还会出现空指针错误 */ //jiSu ...
- Map.putAll方法——追加另一个Map对象到当前Map集合
该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象. 语法 putAll(Map<? extends K,? extends V ...
最新文章
- js layui 模板属性 添加_layui.laytpl--模板引擎文档
- ubuntu16.04安装retext,第一行图标flie,edit,help没有,其它图标也不显示?
- 显示照片的RGB直方图
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
- Qt之加减乘除四则运算-支持负数
- python绘制双正切激活函数
- virus test
- 用for打印菱形java_Java 动态打印菱形代码之for循环的使用
- Android:沉浸式状态栏(二)集成
- mysql 去空格_MySQL基本命令操作
- 基于CarMaker的C-NCAP主动安全系统试验仿真(二)
- 汉仪字体安装后PPT找不到_字体不知道去哪下载?我教您
- 曼昆 宏观经济学 笔记
- 官方VM tools下载地址
- Maven(六)Maven传递性和依赖性
- macOS Big Sur 11.2.3 (20D91) 虚拟机 ISO 镜像
- 大数据编程语言 Scala 进阶篇
- GitHub 颜值这么高的播放器,太爱了!
- “价值投资高峰论坛”直播实录
- 计算机键盘被锁怎么解,电脑键盘锁了怎么解锁 电脑键盘解锁方法【详解】
热门文章
- vs2012里用easyUI,显示不正常
- Sybase常见问题
- 三星台式机计算机编号怎么看,三星笔记本如何查看型号
- 紫光展锐处理器有那些手机用_酷派将发千元5G手机,国产紫光展锐加持,主打性价比...
- JavaScript中的“ this”关键字
- ruby中、.reject_Ruby中带有示例的Array.reject方法
- stl vector 函数_vector :: back()函数以及C ++ STL中的示例
- 建立单链表 单链表的插入_单链列表插入
- obj.val 非数组_在Ruby中使用Array.new(size,obj)创建数组
- sql服务器默认密码_搭建一个DNS服务器,轻松实现域名解析内容分发,访问速度提高N倍...