内容简介:for与foreach的差异
关于for循环和foreach循环,使用 java 的童鞋已经熟悉得不能在熟悉了,那么关于他们的区别,我们知道多少呢?
for循环是基础语法,所有不在赘述
foreach循环也叫增强型的for循环,是JDK5.0的新特性,foreach循环的加入简化了集合的遍历,缺点是丢掉了索引信息
foreach循环语法
for(type element: array){
}
for循环与foreach循环性能比较
ArrayList<Integer> arrayList = new ArrayList<>();
LinkedList<Integer> linkedList = new LinkedList<>();
for (int i = 0; i < 100000; i++) {
arrayList.add(i);
linkedList.add(i);
}
int number;
long start = System.currentTimeMillis();
for (int i = 0; i < arrayList.size(); i++) {
number = arrayList.get(i);
}
long end = System.currentTimeMillis();
long result = end - start;
System.out.println("ArrayList for循环消耗时间:" + result);
start = System.currentTimeMillis();
for (int i : arrayList) {
number = i;
}
end = System.currentTimeMillis();
result = end - start;
System.out.println("ArrayList foreach循环消耗时间:" + result);
start = System.currentTimeMillis();
for (int i = 0; i < linkedList.size(); i++) {
number = linkedList.get(i);
}
end = System.currentTimeMillis();
result = end - start;
System.out.println("LinkList for循环消耗时间:" + result);
start = System.currentTimeMillis();
for (int i : linkedList) {
number = i;
}
end = System.currentTimeMillis();
result = end - start;
System.out.println("LinkList foreach循环消耗时间:" + result);
运行结果
ArrayList for循环消耗时间:8 ArrayList foreach循环消耗时间:12 LinkList for循环消耗时间:7779 LinkList foreach循环消耗时间:3
可以看出,ArrayList中for循环比foreach循环稍快一点,而在LinkList中,foreach循环比for循环快很多
循环次数增加,ArrayList中for循环仍然比foreach循环快,而LinkList中for循环可能会被程序卡死
总结:
- foreach是增强行for循环,JDK1.5的新特性
- foreach对掉了索引信息
- ArrayList中for循环比foreach循环快
- LinkList中foreach循环比for循环快
- 循环数组结构的数据时,建议使用普通for循环,因为for循环采用下标访问
- 循环链表结构的数据时,一定不要使用普通for循环,数据量大的时可能导致系统奔溃
以上所述就是小编给大家介绍的《for与foreach的差异》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
腾讯网UED体验设计之旅
任婕 等 / 电子工业出版社 / 2015-4 / 99.00元
《腾讯网UED体验设计之旅》是腾讯网UED的十年精华输出,涵盖了丰富的案例、极富冲击力的图片,以及来自腾讯网的一手经验,通过还原一系列真实案例的幕后设计故事,从用户研究、创意剖析、绘制方法、项目管理等实体案例出发,带领读者经历一场体验设计之旅。、 全书核心内容涉及网媒用户分析与研究方法、门户网站未来体验设计、H5技术在移动端打开的触控世界、手绘原创设计、改版迭代方法、文字及信息图形化设计、媒......一起来看看 《腾讯网UED体验设计之旅》 这本书的介绍吧!