1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历value等不同场景下的差异,我试着进行了一些对比测试。
2. 对比测试
一开始只进行了简单的测试,但结果却表明keySet的性能更好,这一点让我很是费解,不都说entrySet明显好于keySet吗?为了进一步地进行验证,于是采用了不同的测试数据进行更详细的对比测试。
1 测试数据
1.1 HashMap测试数据
HashMap-1,大小为100万,key和value均为String,key的值为1、2、3……1000000:Map<String, String> map = new HashMap<String, String>();String key, value;for (i = 1; i <= num; i++) { key = "" + i; value = "value"; map.put(key, value);}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机Java中map遍历方式的选择问题详解
后端开发2023-05-31
分析Java中Map的遍历性能问题
后端开发2024-04-02
【Java基础】Java 8中Map的遍历方式
后端开发2023-10-25
java中Map遍历的方式有哪些
后端开发2023-07-05
Java中Map的九种遍历方式总结
后端开发2022-11-16
Java中Map集合的三种遍历方式
后端开发2023-08-16
Java中Map循环遍历的效率问题怎么解决
后端开发2023-08-15
Java中Map集合的三种遍历方式小结
后端开发2022-12-26
java二叉树的遍历方式详解
后端开发2024-04-02
Java中,Map、List集合遍历、去重方式超详细总结
后端开发2023-10-07
Java二叉树的四种遍历方式详解
后端开发2024-04-02
详解python中字典的循环遍历的两种方式
后端开发2022-06-04
详解element-ui中el-select的默认选择项问题
后端开发2024-04-02
Java中List使用stream流转成map的几种方式详解
后端开发2023-05-16
Java Spring编程中如何选择最优的算法来解决问题?
后端开发2023-06-07
通俗易懂讲解C语言与Java中二叉树的三种非递归遍历方式
后端开发2024-04-02
详解Java泛型中类型擦除问题的解决方法
后端开发2024-04-02
详解Java中的println输入和toString方法的重写问题
后端开发2024-04-02
详解SpringMVC中的四种跳转方式、视图解析器问题
后端开发2022-11-13
咦!没有更多了?去看看其它编程学习网 内容吧