哈希表或映射中的枚举有什么用?
What is the use of Enumerations in Hashtables or maps?
我在 Stack Overflow 上寻找哈希表的一些例子,发现了这个:
Enumeration enumeration = companies.elements();
while ( enumeration.hasMoreElements() ) {
System.out.println("hashtable values: "+enumeration.nextElement());
}
为什么我们使用枚举,特别是在哈希表中,它的意义是什么?
枚举基本上是 Iterator
的旧形式。基本上,它们允许您遍历一个集合并单独获取它的所有元素。
我们这样做的原因是对于 HashTable
、HashMap
、HashSet
、LinkedList
等,您无法通过索引有效地访问元素。事实上,在前三种情况下,索引没有任何意义。因此可以使用迭代器或枚举来遍历元素以访问它们。
正如评论中提到的 chrylis,请不要使用 Enumeration
s。 Iterator
s 较新并且具有一些特殊的语法功能,例如增强的 for
循环。
我在 Stack Overflow 上寻找哈希表的一些例子,发现了这个:
Enumeration enumeration = companies.elements();
while ( enumeration.hasMoreElements() ) {
System.out.println("hashtable values: "+enumeration.nextElement());
}
为什么我们使用枚举,特别是在哈希表中,它的意义是什么?
枚举基本上是 Iterator
的旧形式。基本上,它们允许您遍历一个集合并单独获取它的所有元素。
我们这样做的原因是对于 HashTable
、HashMap
、HashSet
、LinkedList
等,您无法通过索引有效地访问元素。事实上,在前三种情况下,索引没有任何意义。因此可以使用迭代器或枚举来遍历元素以访问它们。
正如评论中提到的 chrylis,请不要使用 Enumeration
s。 Iterator
s 较新并且具有一些特殊的语法功能,例如增强的 for
循环。