在Hashtables或地图中使用Enumerations有什么用?

时间:2015-02-22 00:29:38

标签: java hashmap hashtable enumeration

我正在寻找Stack Overflow上Hashtables的一些例子,并发现了这个:

Enumeration enumeration = companies.elements();

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

为什么我们使用Enumerations,特别是在Hashtables中它的意义是什么?

1 个答案:

答案 0 :(得分:5)

枚举基本上是Iterator的旧形式。基本上,它们允许您浏览一个集合并单独获取所有元素。

我们这样做的原因是,对于HashTableHashMapHashSetLinkedList等,您无法通过索引有效地访问元素。事实上,在前三个案例中,指数毫无意义。因此,可以使用迭代器或枚举来遍历元素以访问它们。

正如chrylis在评论中提到的那样,请不要使用EnumerationIterator更新,并且具有一些特殊的语法功能,例如增强型for循环。