枚举(enumeration)和迭代器(iterator)的区别

Java中有许多数据结构充当集合,如向量、哈希表和实现Java集合框架的类(即HashMap、HashSet、ArrayList、TreeSet、TreeMap、LinkedList、LinkedHashMap和LinkedHashSet)。在Java中有无数的元素迭代到各个对象。Java提供了两个接口来简化这项任务。枚举和迭代器是java.util文件提供通过一组项枚举序列或对象的功能的包。jd...

枚举与迭代器

Java中有许多数据结构充当集合,如向量、哈希表和实现Java集合框架的类(即HashMap、HashSet、ArrayList、TreeSet、TreeMap、LinkedList、LinkedHashMap和LinkedHashSet)。在Java中有无数的元素迭代到各个对象。Java提供了两个接口来简化这项任务。枚举和迭代器是java.util文件提供通过一组项枚举序列或对象的功能的包。jdk1.0中引入了枚举器,jdk1.2中引入的迭代器实际上重复了枚举器的功能(在集合框架中)。

什么是枚举?

枚举是Java中的一个公共接口,在JDK1.0中引入,它提供通过元素序列进行枚举的能力。它在下面找到java.util文件包裹。当枚举接口由对象实现时,该对象可以生成一系列元素。枚举接口有两个方法。hasMoreElements()方法将测试此枚举是否包含更多元素,nextElement()将返回序列中的下一个元素(如果至少还有一个元素)。换句话说,通过连续调用nextElement(),程序员可以访问序列中的各个元素。例如,要使用枚举器打印Vector v1中的所有元素,可以使用以下代码片段。

枚举e=v1.elements();

While(e.ha**oreelements()){

System.out.println(e.nextElement());

}

也可以使用SequenceOr枚举流来定义input对象的输入流。

什么是迭代器?

迭代器是Java.util文件包,它允许迭代实现集合框架的collecti***对象的元素(如ArrayList、LinkedList等)。这是jdk1.2中引入的,并取代了Java集合框架中的枚举器。迭代器有三种方法。方法hasNext()测试集合中是否还有剩余元素,next()方法返回序列中的下一个元素。remove()方法可用于从基础集合中移除当前元素。例如,要使用迭代器打印Vector v1中的所有元素,可以使用以下代码片段。

迭代器i=v1.elements();

While(i.hasNext()){

System.out.println(e.next());

}

枚举和迭代器的区别是什么?

  • 发表于 2020-10-26 10:47
  • 阅读 ( 151 )
  • 分类:IT

你可能感兴趣的文章

树集(treeset)和容器(hashset)的区别

...素添加到该对象中。数据**顺序是A,D,A,B,C,D。使用迭代器,存储的值被打印到屏幕上。输出是A、B、C、D。即使有两个A字母和两个D字母,输出也会分别显示一个A和一个D。因此,树集存储独特的元素。没有特定的**顺序,但...

  • 发布于 2020-10-19 06:21
  • 阅读 ( 232 )

递归(recursion)和迭代(iteration)的区别

关键区别——递归与迭代 递归和迭代可以用来解决编程问题。使用递归或迭代来解决问题的方法取决于解决问题的方式。递归和迭代的关键区别在于递归是一种在同一个函数中调用函数的机制,而迭代是重复执行一组指令,...

  • 发布于 2020-10-19 23:58
  • 阅读 ( 284 )

如何使用java arraylist

...添加、删除和更新元素、动态重新调整大小、对元素进行迭代等。这些操作中的大多数都经过了专门调整,以用于一般用途。 ...

  • 发布于 2021-03-13 20:41
  • 阅读 ( 213 )

python字典:如何使用它编写更好的代码

... When you need the index of the key being processed, use the enumerate() built-in function as shown. users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}for index, key in enumerate(users): print index, key, '=>', users[k]# prints0 lastname =&...

  • 发布于 2021-03-14 05:15
  • 阅读 ( 270 )

帮助您快速学习的10个基本python示例

...非Pythonic的,应该避免使用,但如果确实需要,可以使用enumerate()方法: ...

  • 发布于 2021-03-16 13:29
  • 阅读 ( 217 )

散列表(hashmap)和linkedhashmap公司(linkedhashmap)的区别

...*到映射中的顺序。这意味着**到映射中的第一个键是首先枚举的,与之相关联的值也是如此,最后**到枚举中的最后一个条目也是最后枚举的。LinkedHashMap有一个可预测的迭代顺序,这意味着它还可以按访问顺序维护其元素,即访...

  • 发布于 2021-06-25 20:26
  • 阅读 ( 232 )

常数(constant)和c语言中的变量(variable in c programming)的区别

...各种数据类型。可以有整数常量、浮点常量、字符常量和枚举常量。在C语言中,有两种方法来定义常量。它们是通过使用#define预处理器和c***t关键字实现的。 请参阅下面使用#define预处理器计算圆面积的程序。 Figure 1: Define c***ta...

  • 发布于 2021-06-30 21:33
  • 阅读 ( 623 )

数组表(arraylist)和矢量(vector)的区别

...remove方法时,该特定元素将从向量中移除。“en”是一个枚举,有助于遍历向量。最后,while循环打印向量中可用的元素。 数组表(arraylist)和矢量(vector)的区别 定义 ArrayList是一种非同步数据结构,它使用动态数组存储元素,而vect...

  • 发布于 2021-07-01 09:19
  • 阅读 ( 225 )

迭代器(iterator)和列表迭代器(listiterator)的区别

...元素,而ListIterator可以向前和向后遍历集合中的元素。 迭代器和ListIterator是Java中的两个接口。迭代器用于列表、集合和映射。另一方面,ListIterator只用于列表。在ListIterator中,可以向前和向后遍历集合中的项。相反,迭代器只...

  • 发布于 2021-07-01 16:05
  • 阅读 ( 218 )

列表(list)和设置(set)的区别

...yList的对象。add方法有助于将元素**ArrayList。iterator()将迭代器返回到集合的开头。while循环在每次迭代中调用hasNext()方法。只要集合中有可用的元素,它就会返回true。在循环中,next()方法有助于获取集合中的下一个数据...

  • 发布于 2021-07-01 16:13
  • 阅读 ( 205 )
afua29395
afua29395

0 篇文章

相关推荐