java for循环不换行,foreach循环优于传统的for循环(46)

本文探讨了Java中四种类型的使用,包括接口、类、数组和基本类型。重点讲述了foreach循环的优势,如减少混乱、无性能损失以及在处理集合时的便利性。同时,对比了foreach与迭代器的区别,指出在需要删除元素或转换元素时,应当使用迭代器。文章还提到了枚举在Java Collections Framework中的迭代功能已被迭代器取代。

1、java语言支持四种类型:

(1)接口(interface):

(2)类(class):

(3)数组(Array):

(4)基本类型(primitive):唯一非引用类型(reference type)

2、方法签名:包括方法名称、参数,不包括返回值;

《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《

1、foreach循环

for (T rf : list) {

Map map=ObjectUtil.getFieldMap(rf);

datalist.add(map);

}

(1)迭代器和索引变量容易引起混乱;一旦出错,编译器不一定能发现;

(2)foreach避免出现混乱;

(3)foreach没有性能损失,数组也一样;

(4)相比于普通for循环,有性能优势,因为对数组边界值仅计算一次;

(5)两个集合嵌套式迭代,foreach优势更明显:

(6)for循环嵌套必须在外层嵌套取出i.next():

8c8cf2d76e5c2011c89ed761624925a3.png

(6.1)错误 for循环嵌套:

220f1a8554a7362e738107667a1d42e0.png

(7)foreach 嵌套则不必:

97491a7d10c165f61d56757a8bb1bd94.png

(8)可以遍历集合、数组,实现了Iterator接口的对象;

(9)Iterator接口与foreach同时引入java平台:

7f1c58b5d6e0b0b2370354cc0b9e6926.png

(10)一组元素,可以不实现Collection接口,请实现Iterator接口,这样可以使用foreach;

2、无法使用foreach情况

(1)过滤:在遍历集合,并删除指定元素时;请显式使用迭代器,调用它的remove方法;

(2)转换:在遍历列表或集合,并取代部分元素值,需要列表迭代器、数组索引,设定元素值;

(3)平行迭代:在并行遍历多个集合,此时使用嵌套for循环,如(6.1);

3、迭代器Iterator

(1)for循环需要事先知道集合的内部结构,访问代码和集合紧密耦合;

(2)Iterator可以将其分离;

4、迭代器(Iterator)与枚举(Enumeration)有两点不同:

迭代器取代了 Java Collections Framework 中的 Enumeration;

(1)在迭代期间从迭代器所指向的 collection 移除元素;

(2)方法名称得到了改进,只需使用 next()、hasNext() 两个方法即可完成迭代;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值