Enumeration && Iterator

What are differences between Enumeration and Iterator  This question is from early ages of interview , I  have not seen this question on recent interviews but it was common during 2006-2007 , now days questions like implementation of HashMap, ConcurrentHashMap etc has take its place, nonetheless its very useful to know  fundamental difference between Iterator and EnumerationSome time its also asked as  Iterator vs Enumeration or Enumeration vs Iterator which is same. important point to note is that both Iterator and Enumeration provides way to traverse or navigate through entire  collection in java

Between Enumeration and Iterator, Enumeration is older and its there from JDK1.0 while iterator was introduced later. Iterator can be used with  Java arraylist,   java hashmap keyset  and with any other collection classes.


Another similarity between Iterator and Enumeration in Java is that   functionality of Enumeration interface is duplicated by the Iterator interface.

Only major difference between  Enumeration and iterator is Iterator has a remove() method while Enumeration doesn't. Enumeration acts as Read-only interface, because it has the methods only to traverse and fetch the objects, where as by using Iterator we can manipulate the objects like adding and removing the objects from collection e.g. Arraylist.

Also  Iterator is more secure and safe as compared to  Enumeration because it  does not allow other thread to modify the collection object while some thread is iterating over it and throws  ConcurrentModificationException. This is by far most important fact for me for deciding between Iterator vs Enumeration in Java.

In  Summary both Enumeration and Iterator will give successive elements, but Iterator is  new and improved version where method names are shorter, and has new method called remove. Here is a short comparison:

Enumeration
hasMoreElement()
nextElement()
N/A


Iterator
hasNext()
next()
remove()

So  Enumeration is used when ever we  want to make Collection objects as Read-only.

if you like to read  interview questions you can also check



Read more: http://javarevisited.blogspot.com/2010/10/what-is-difference-between-enumeration.html#ixzz2uaN4tTu8

转载于:https://my.oschina.net/u/138995/blog/203926

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值