循环反思-for循环的滥用
来源:互联网 发布:淘宝旺铺基础版模板 编辑:程序博客网 时间:2024/06/06 09:53
本博刚刚从学校毕业,刚进去公司工作也已经接近两个月了。
最近我的pl分配了一个功能给我,主要涉及到了两个bean,然后两个bean都有一个projectID,然后我要做的就是通过匹配相同的projectID,把两个bean合并成一个bean反馈给前端,让前端显示相关功能。
一开始思路
for(int i = 0;i<bean1.size();i++){ Bean1 bean = bean1.get(i); //do something for(j = 0;i<bean2.size();j++){ if(baan.getProjectId==bean2.get(j).getProjectId) //do something }
一开始的觉得不什么事,因为我测试的时候都是用小数据来测试,速度还算可以,但是一旦数据是大数据的时候,这个循环就坏了,比如bean1是万级别的,bean2也是万级别的,这个循环就等于是亿级别的,这个循环的话没半小时干不完。
因此,在后面我选择了用hashmap的entrySet方法,这样就能减少循环的次数,虽然也是万级别的,但是比亿级别快多了。
- System.out.println("通过Map.entrySet遍历key和value");
- for (Map.Entry<String, String> entry : map.entrySet()) {
- System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
- }
当需要遍历hashmap的时候,请尽量使用entrySet,而不要用keySet,entrySet的效率要比keySet高,实际上使用 entrySet是只需要遍历一次hash,即将key和value的映射关系放入到entry中,再取之;而keySet需要两次遍历hash,第一次 取所有的key,第二次用key去取出对应的value。
阅读全文
1 0
- 循环反思-for循环的滥用
- 【for循环】增强的for循环
- for循环的疑问
- for循环的漏洞。
- 有意思的for循环
- 截然不同的for循环!
- for循环的应用
- 增强的for循环
- Python的for循环
- for循环的遍历
- for循环的优化
- 容器的for循环
- For 循环的优化
- For 循环的优化
- 增强的for循环
- for循环的讲解
- 冒号的for循环
- for循环的理解
- ETL学习笔记之三:MS SQL DTS
- OD常用断点大全~
- ETL学习笔记之四:开源项目 Kettle
- 对JAVA框架SSH的理解
- Neural Networks
- 循环反思-for循环的滥用
- Java中的反射机制
- 一个非常标准的Java连接Oracle数据库的示例代码
- Game of Peace
- 纯css3饼图五等分
- the user operation is waiting for "building workspace " complete
- 安装多个jdk版本灵活切换选中开发环境
- JAVA包介绍
- caffe踩过的一些坑