`
ikon
  • 浏览: 107054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iterator和Enumeration的主要区别

    博客分类:
  • j2se
 
阅读更多

(1)java中的集合类都提供了返回Iterator的方法,就是迭代器,它和Enumeration(枚举)的主要区别其实

     就是Iterator可以删除元素,但是Enumration却不能。

 

(2)还有一点要注意的就是,使用Iterator来遍历集合时,应使用Iterator的remove()方法来删除集合中的元

     素,使用集合的remove()方法将抛出ConcurrentModificationException异常。

 

(3)Enumeration 接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移

     除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口

 

(4)迭代器与枚举有两点不同:
     ·迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。

     ·方法名称得到了改进。

分享到:
评论

相关推荐

    详谈Enumeration接口和Iterator接口的区别

    在Java编程语言中,`...综上所述,`Enumeration`和`Iterator`接口在功能、并发安全性以及历史背景方面都有明显的区别。在新的开发项目中,通常选择使用`Iterator`,以利用其提供的更强大功能和更现代的编程模型。

    使用Enumeration和Iterator遍历集合类详解

    为了方便地访问和操作集合中的元素,Java提供了两种主要的遍历机制:`Enumeration` 和 `Iterator`。尽管 `Iterator` 在功能上比 `Enumeration` 更强大,但 `Enumeration` 仍然在某些特定场景下被使用。接下来,我们...

    详解Java中的迭代迭代器Iterator与枚举器Enumeration

    迭代器(Iterator)与枚举器(Enumeration)的区别主要在于: 1. 迭代器提供了remove()方法,允许删除集合中的元素,而枚举器没有。 2. 迭代器是单向的,只能向后遍历集合;而枚举器是双向的,可以通过elements()...

    java Iterator接口和LIstIterator接口分析

    Iterator接口和ListIterator接口的主要区别在于: * Iterator接口只能向前迭代,而ListIterator接口可以向前和向后迭代。 * Iterator接口不支持删除和添加元素,而ListIterator接口支持删除和添加元素。 * Iterator...

    IteratorPattern 迭代设计模式

    在Java中,`java.util.Iterator`和`java.util.Enumeration`就是迭代器模式的典型应用。C#中的`IEnumerator`接口和`yield return`关键字也是迭代器模式的实现。 在文件名称“IteratorPattern01”中,我们可以推测这...

    java讲解scjp

    Enumeration 与 Iterator 的区别 Enumeration 和 Iterator 都是迭代输出的方法,但是它们有着不同的使用场景和实现方式。Enumeration 先进后出,而 Iterator 先进先出。这意味着,使用 Enumeration 时,需要先将...

    Java 实例 - 使用 Enumeration 遍历 HashTable源代码+详细指导教程.zip

    `Enumeration`在Java早期版本中用于迭代容器中的元素,虽然在Java集合框架的后续版本中被迭代器(Iterator)所取代,但在处理`HashTable`时,`Enumeration`仍然是首选工具。 `HashTable`的主要特点包括线程安全(即...

    Java 集合框架高难度进阶版面试题集锦解析

    16. Iterator 和 Enumeration 的区别: - Iterator 支持删除操作,是Java集合框架的标准迭代器。 - Enumeration 是早期Java版本的迭代接口,不支持删除操作,主要用于Vector和Hashtable等老式集合。 理解这些集合...

    30个Java经典的集合面试题!.pdf

    8. **为什么Iterator不提供add方法**:Iterator的主要目的是遍历和修改集合,添加元素通常不在其职责范围内。添加元素通常在创建集合实例时进行,或者通过集合本身的add方法完成,以保持迭代过程的清晰和一致性。 ...

    【JDK1.8源码剖析】外部迭代器Iterator接口

    注意区别于内部迭代器Iterable和枚举器Enumeration 外部迭代器的设计背后体现着迭代器设计模式的思想 (二)源码分析 该接口就只有四种方法 // 是否存在未遍历元素 boolean hasNext(); // 返回下一个元素

    各容器与迭代器的用法.pdf

    在给定的资料中提到了两种迭代器:Enumeration和Iterator。Enumeration是早期Java版本中用于遍历集合的接口,现在已经不太常用。而Iterator是它的下一代替代品,提供了更加灵活和安全的遍历功能,如`hasNext()`和`...

    C++详解细则

    在JSP的开发中,迭代是经常要使用到的操作。例如,逐行的显示查询的...在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出。现在,通过JSTL的迭代标签可以在很大的程度上简化迭代操作。

    各容器与迭代器的用法 (2).pdf

    `Enumeration`主要用于旧版本的`Vector`和`Hashtable`,而`Iterator`则广泛应用于所有的集合框架。`Iterator`提供了`hasNext()`和`next()`方法,用于检查是否还有更多元素以及获取下一个元素。与`Enumeration`相比,...

    java学习之路(转)

    5. Java集合框架:熟悉Java集合框架,掌握Set、List、Map、Iterator和Enumeration接口及其各自实现类(例如,HashSet、ArrayList、Vector、HashMap、HashTable、ArrayList中的ArrayList、Vector等),了解它们的特点...

    javaIOjavaIOjavaIOjavaIO

    Iterator和Enumeration接口提供了遍历数据集合的功能,虽然它们主要用于集合框架,但也可以在某些特定情况下用于处理流。 11. 配合Lambda表达式: Java 8引入了Lambda表达式和Stream API,使得处理流更加简洁和...

    关于Java集合框架面试题(含答案)上

    以上内容详细介绍了Java集合框架的一些核心知识点,包括其概念、优点、泛型、基本接口以及Iterator和Enumeration的区别。这些知识对于理解和使用Java集合框架至关重要,也是面试中经常出现的问题。

Global site tag (gtag.js) - Google Analytics