[程序效率优化专题]1.for循环中的效率优化

本文探讨了在Java中for循环和增强for循环的选择,通过实验比较了它们在遍历ArrayList时的效率,发现两者差异不大,但在遍历HashMap时,直接使用values()或entrySet()通常比通过keySet()更高效。对于只关心value的情况,推荐使用values(),而需要同时访问key和value时,entrySet()是更好的选择。
摘要由CSDN通过智能技术生成

1.for循环中的效率优化

在编码中,我们像竞技运动员一样追求更快的速度。追求最优的算法,看到一些同学的编码质量停留着实现功能的层面,距离最优编码相差很远。所以一直想整理一下自己在实际项目遇到的问题和效率优化的文章和大家分享一下。本文是该系列文章的第一篇。for循环的效率优化。

1 for循环和增强for循环的选择

jdk5.0加入了增强for循环,代码比普通for循环更加简洁。

  • 普通for循环格式举例
for (int i = 0; i < 1000000; i++) {
    
    list.add(i);
}
  • 增强for循环格式举例
for (Integer i : list) {
    
    int n = i;
}

我们通过一个简单的代码场景来比较一下普通for循环和增强for循环的效率。

1.1 实验场景

初始化一个长度为1000000的ArrayList,分别通过for循环和增强for循环来遍历,计算时间差。

示例代码:

package com.dashidan.profile;

import java.util.ArrayList;

/**
 * 大屎蛋教程网-dashidan.com
 * HashMap与ConcurrentHashMap的区别于应用场景
 * Created by 大屎蛋 on 2018/5/22.
 */
public class Demo1 {
    
    public static void main(String[] args) {
    

        /** 初始化数组*/
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值