这两个接口之间的确切区别是什么?是否Enumeration有过使用效益Iterator?如果有人可以详细说明,将不胜感激。
Enumeration
Iterator
查看该Iterator接口的Java API规范,对以下两者之间的区别进行了说明Enumeration:
迭代器与枚举有以下两种不同: 迭代器允许调用者在迭代期间使用定义明确的语义从基础集合中删除元素。 方法名称已得到改进。
迭代器与枚举有以下两种不同:
底线是,既Enumeration和Iterator会给连续元素,但Iterator以这样的方式得到改善,从而该方法名是短,并且具有附加的remove方法。这是一个并排比较:
remove
Enumeration Iterator ---------------- ---------------- hasMoreElement() hasNext() nextElement() next() N/A remove()
如Java API规范中所述,对于新程序,Iterator应优先于Enumeration,因为“在Java集合框架中,迭代器代替了枚举”。(根据Iterator规格。)