普通for循环和增强for循环底层比较

增强for的优点与缺点

优点:简化了数组或集合遍历的迭代写法,foreach遍历在写法上显得更加的简洁和方便;
缺点:增强for无法知道当前已经遍历到了数组的哪个索引位置处,即无法直接获取索引下标;
使用增强for的场景:进行不关注索引下标的数组或集合迭代;

增强for的底层实现原理

首先使用IntelliJ IDEA软件的反编译功能对上述的案例的class文件进行反编译,反编译后的案例代码如下:

先来关注数组的增强for循环的底层原理,从下图反编译出的源码可以看出,对数组进行增强for遍历其实底层实现就是运用了普通数组遍历是采用的带索引下标的迭代(遍历)

再来看看对集合使用增强for遍历时其底层实现方式,从下图中可以直观清晰的看出对集合使用增强for遍历就是获取该集合迭代器完成迭代操作,其原理就是获取迭代器(Iterator)对集合元素进行迭代操作:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值