枚举就是把集合里的对象元素 一个一个提取出来!
比如说 你买了一合巧克力 里面有草莓味的 有香草口味的 有苹果口味的 你想把他们拿出来 就必须用“手”一个一个把他们拿出来 并且一次只能取一个哦 这里的手就是枚举器 你取的动作就是枚举的过程
Enumeration 和 Iterator 的作用都是迭代器的接口,迭代器的职责是遍历一个集合中的所有元素,而不需要让用户知道集合的具体实现方式
Enumeration有两个方法:hasMoreElements 和 nextElement 分别判断是否还有更多的元素,以及返回下一个元素
Iterator 有三个方法,hasNext,next,remove,前两个和Enumeration是对应的,remove用来删除当前迭代到的元素。
它们的好处都是为集合的遍历工作提供统一的接口,即便你更换了集合类的具体实现,你也不需要更换迭代的代码。坏处...好像没觉得有很明显的坏处,有一点是它并不灵活,以至于很多人会错误使用迭代器。比如在迭代过程中用非remove的方法增减元素是不行的。可以说迭代器只适合于做基本的遍历工作,并不适合做更复杂的逻辑。
|