for-each

for-each也是java5提供的语法糖
for-each是for循环的增强版,可以得带数组和集合,取出其中的元素。
语法:
for(元素类型 变量 : 数组/Iterable对象){
//TODO;
}
因为List和Set是Collection接口的子接口,而Collection接口继承了Iterable接口,所以针对于List和Set可以使用for-eack,而Map不行。
针对数组来说:for-each底层依然使用的是for循环迭代数组,使用数组的索引来获取每一个元素,
针对于Iterable对象来说:底层依然使用迭代器(Iterator)
某一个线程在Collectioni上进行迭代时,通常不允许另一个线程进行修改该Collection。
在迭代集合的时候,删除元素;
方式一:使用Collection对象.remove(对象)删除当前被迭代的元素。此时删除,就会报错:并发修改异常(如果集合和集合副本中的元素个数不相等就会报错)。在迭代的时候,不能使用Collection对象的remove方法。
方式二:使用迭代器的删除方法(Iterator对象.remove())方法删除 当前迭代的元素,但是此时,把元素集合和集合副本做同步操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值