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

XOR*_*nik 0 java enumeration hashtable hashmap

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

Enumeration enumeration = companies.elements();

while ( enumeration.hasMoreElements() ) {
   System.out.println("hashtable values: "+enumeration.nextElement());
}
Run Code Online (Sandbox Code Playgroud)

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

k_g*_*k_g 5

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

我们这样做的原因是,HashTable,HashMap,HashSet,LinkedList和更多的,你不能有效地通过索引访问元素.事实上,在前三个案例中,指数毫无意义.因此,可以使用迭代器或枚举来遍历元素以访问它们.

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