Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哈希表或映射中枚举的用途是什么?_Java_Hashmap_Hashtable_Enumeration - Fatal编程技术网

Java 哈希表或映射中枚举的用途是什么?

Java 哈希表或映射中枚举的用途是什么?,java,hashmap,hashtable,enumeration,Java,Hashmap,Hashtable,Enumeration,我在寻找一些关于堆栈溢出的哈希表示例,发现如下: Enumeration enumeration = companies.elements(); while ( enumeration.hasMoreElements() ) { System.out.println("hashtable values: "+enumeration.nextElement()); } 为什么我们要使用枚举,特别是在哈希表中,它的意义是什么?枚举基本上是迭代器的一种旧形式。基本上,它们允许您遍历集合并单独

我在寻找一些关于堆栈溢出的哈希表示例,发现如下:

Enumeration enumeration = companies.elements();

while ( enumeration.hasMoreElements() ) {
   System.out.println("hashtable values: "+enumeration.nextElement());
}

为什么我们要使用枚举,特别是在哈希表中,它的意义是什么?

枚举基本上是
迭代器的一种旧形式。基本上,它们允许您遍历集合并单独获取其所有元素

我们这样做的原因是,对于
HashTable
HashMap
HashSet
LinkedList
等等,您无法通过索引高效地访问元素。事实上,在前三种情况下,指数没有任何意义。因此,可以使用迭代器或枚举来循环访问元素


正如chrylis在评论中提到的,请不要使用
Enumeration
s<代码>迭代器
s较新,具有一些特殊的语法功能,如增强的
for
循环。

枚举基本上是
迭代器
s的旧形式。基本上,它们允许您遍历集合并单独获取其所有元素

我们这样做的原因是,对于
HashTable
HashMap
HashSet
LinkedList
等等,您无法通过索引高效地访问元素。事实上,在前三种情况下,指数没有任何意义。因此,可以使用迭代器或枚举来循环访问元素


正如chrylis在评论中提到的,请不要使用
Enumeration
s<代码>迭代器s较新,并具有一些特殊的语法功能,如增强的
for
循环。

如果您正在编写新代码,请不要使用其中任何一种,因为它们已经过时。如果您正在编写新代码,请不要使用任何一种,因为它们已经过时。