Enumeration和Iterator的区别

Iterator对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:

  • 迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。

  • 方法名称得到了改进。 
    简化对集合的操作,主要功能Enumeration和Iterator的区别是遍历并选择集合中的对象,其中有三个最要的方法:
           1.hasNext() 返回布尔值 看集合中还有没有元素
           2.next() 返回下一个元素 返回的是O的所一定要强转一下
           3.remove() 元素删除
    接口 Iterator:
            构建一个Iterator迭代器 -->Iterator iterator=所要进行迭代的集合对象.iterator();

    接口 Enumeration: 注意=====Enumeration已经不是主流,Iterator是它的下一代替代品
            构建一个Enumeration迭代器-->Enumeration enumeration=所要进行迭代的集合对象.elements()

Iterator:

方法摘要 boolean () 
            如果仍有元素可以迭代,则返回 true。() 
            返回迭代的下一个元素。void() 
            从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。

Enumeration: 方法摘要boolean() 
            测试此枚举是否包含更多的元素。() 
            如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

主要区别:

            java中的集合类都提供了返回Iterator的方法,就是迭代器,它和Enumeration的主要区别其实就是Iterator可以删除元素,但是Enumration却不能。

            还有一点要注意的就是,使用Iterator来遍历集合时,应使用Iterator的remove()方法来删除集合中的元素,使用集合的remove()方法将抛出ConncurrentModificationException异常。

            Enumeration 与 iterator 都是迭代输出的方法,Enumeration先进后出,iterator先进先出。


转载于:https://my.oschina.net/u/2543420/blog/643591

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值