我刚刚了解了Java Collections Framework如何在链表中实现数据结构.根据我的理解,这Iterators
是一种遍历数据结构(如列表)中的项目的方法.为什么使用这个界面?为什么这些方法hasNext()
,next()
而remove()
不是直接编码到数据结构实现本身?
从Java网站:链接文本
public interface Iterator <E>
集合上的迭代器.Iterator取代了Java集合框架中的Enumeration.迭代器在两个方面与枚举不同:
此接口是Java Collections Framework的成员.
- 迭代器允许调用者在迭代期间使用定义良好的语义从底层集合中删除元素.
- 方法名称已得到改进.
我试着用Google搜索,似乎无法找到明确的答案.有人可以解释为什么Sun选择使用它们吗?是因为更好的设计?增加安全性?好的OO练习?
任何帮助将不胜感激.谢谢.