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中编写代码时将产生的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值