Iterator和Enumeration的主要区别

本文介绍了Java中迭代器(Iterator)与枚举(Enumeration)的区别,重点讲解了迭代器如何支持元素删除操作而枚举不支持,以及在遍历过程中如何正确地删除集合中的元素以避免并发修改异常。

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

(1)java中的集合类都提供了返回Iterator的方法,就是迭代器,它和Enumeration(枚举)的主要区别其实

     就是Iterator可以删除元素,但是Enumration却不能。

 

(2)还有一点要注意的就是,使用Iterator来遍历集合时,应使用Iterator的remove()方法来删除集合中的元

     素,使用集合的remove()方法将抛出ConcurrentModificationException异常。

 

(3)Enumeration 接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移

     除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口

 

(4)迭代器与枚举有两点不同:
     ·迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。

     ·方法名称得到了改进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值