java 增强for循环效率_java – 为什么增强for循环的循环效率比正常
说增强for循环更有效率有点过分简单。它可以是,但在许多情况下,它几乎完全一样的老校园循环。
首先需要注意的是,对于集合,增强的for循环使用了一个迭代器,所以如果你使用迭代器手动迭代一个集合,那么你应该具有与增强的for循环几乎相同的性能。
一个增强的for循环比一个天真实现的传统循环更快的地方就是这样:
LinkedList list = ...;
// Loop 1:
int size = list.size();
for (int i = 0; i
Object o = list.get(i);
/// do stuff
}
// Loop 2:
for (Object o : list) {
// do stuff
}
// Loop 3:
Iterator it = list.iterator();
while (it.hasNext()) {
Object o = it.next();
// do stuff
}
在这种情况下,循环1将比循环2和循环3都慢,因为它将必须(部分地)在每次迭代中遍历列表以找到位置i的元素。循环2和3,由于使用了Iterator,所以列表中只会进一步增加一个元素。循环2和3也将具有相同的性能,因为循环3几乎完全是编写器在循环2中编写代码时将产生的。
java 增强for循环效率_java – 为什么增强for循环的循环效率比正常相关推荐
- java 迭代器的优缺点_java迭代器和for循环优劣详解
在进行迭代的时候,程序运行的效率也是我们挑选迭代方法的重要原因.目前有三种迭代方法:for循环.迭代器和Foreach.前两者相信大家都非常熟悉,为了更加直观分析效率的不同,我们还加入Foreach一 ...
- java中doloop语句_Java中的do-while循环——通过示例学习Java编程(11)
作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=22&cid=0 在上一篇教程中,我们讨论了w ...
- java 垃圾回收 新生代_Java垃圾回收
一.概述 Java垃圾回收器实现内存的自动分配和回收,这两个操作都发生在Java堆上(还包括方法区,即永久代).垃圾回收操作不是实时的发生(对象死亡不会立即释放),当内存消耗完或者是达到某一指标(th ...
- 用java完成一个模块_Java 9 揭秘(3. 创建你的第一个模块)
文 by / 林本托 Tips 做一个终身学习的人. 在这个章节中,主要介绍以下内容: 如何编写模块化的Java程序 如何编译模块化程序 如何将模块的项目打包成模块化的JAR文件 如何运行模块化程序 ...
- java ocr技术原理_Java OCR 图像智能字符识别技术,可识别中文
几天一直在研究OCR技术,据我了解的情况,国内最专业的OCR软件只有2家,清华TH-OCR和汉王OCR,看了很多的OCR技术发现好多对英文与数字的支持都很好,可惜很多都不支持中文字符.Asprise- ...
- java se runtime 下载_Java SE Runtime Environment下载
Java SE Runtime Environment是一款软件编程语言和计算平台,它的基础技术支持最新的程序,同时还包括实用程序.游戏和业务应用程序.Java SE Runtime En ...
- java 内存回收参数_JAVA虚拟机内存回收算法与调优参数
一.相关概念 基本回收算法 引用计数(Reference Counting)比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的对象. ...
- java集合的遍历_java集合遍历方法总结
java集合遍历方法总结 一.for循环遍历集合 使用条件: ①能否确定集合中的元素个数 ②集合是否可以通过整数索引值来精确位置 public static void forTraversal(){ ...
- java的基本特性_Java语言的基本特点
Java语言的基本特点 引导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念.那么你们知道Java语言的特点吗,以下是百分网小编分享给大 ...
最新文章
- 为什么SpringBoot的 jar 可以直接运行?
- 常用javascript函数
- 【poj2187】 Beauty Contest
- 单步调试时遇到cout和cin会自动跳到ostream文件中的解决方案
- vue 请求多个api_vue 一个input同时请求两个接口
- linux-Centos7安装python3并与python2共存
- 图像特效——摩尔纹 moir
- Python_python内置函数
- 全字符微信名 php,PHP方法处理微信昵称特殊符号过滤
- Deepin安装最新显卡RTX2080Ti及CUDA10.1
- YIi2 對接 支付寶Alipay支付接口
- 联发科MT8377 MT8389 MT6589 MT6577等芯片详细解析
- mybatis xml注释sql 的注意事项
- NanoHttpd 单文件
- 什么是数据挖掘,机器学习与数据挖掘主要有什么联系?
- 高并发,我把握不住啊!
- python计算样本方差_Python numpy 样本方差估计
- EMW3080+STC15轻松实现设备上云2(阿里云物联网平台、智能生活开放平台)
- [渝粤教育] 西南科技大学 电子测量与仪表 在线考试复习资料
- python 二进制与十进制之间的转换