for循环小技巧,遍历数组的时候要使用恰当

本文探讨了在并发环境下使用数组遍历时,两种不同遍历模式的效率与安全性的对比。第一种模式虽然直观易懂,但在数组长度变动时可能导致IndexOutOfBoundsException异常;而第二种模式则通过提前计算数组长度避免了此问题,但在频繁变动的情况下可能影响效率。文章旨在帮助开发者权衡效率与安全性,选择最合适的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本两种模式

模式一:

for(int i=0;i<list.size();i++){
/*
****some code******
*/
}

这种模式,基本是所有人最习惯的。因为老师就是这么教的……


模式二:


for(int i=0,length = list.size();i<length;i++){
/*
****some code******
*/
}

经常逛IT类的论坛和博客的人,或者那种对代码有洁癖的是会非常推荐第二种……因为第一种方式,没循环一边就会执行一次  list.size()方法。对那些非常注重效率的人来说非常推荐第二种。


但是,今天遇到一个问题:如果用第二种方法便利数组,的确会带来效率的提高。但是如果在并发开发中,数组的长度变换了,可能会带来 IndexOutOfBoundsException 异常。所以效率高的不一定是最好的,要找到合适的才是最重要的。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值