在Collections Framework中,我们有IteratorListIterator接口,这些接口用于迭代数据结构。它们提供了完整的迭代功能。但是我不知道为什么JDK在enumeration()类上有一个Collections方法。

谁能向我解释这一点?

最佳答案

IteratorListIterator提供了用于遍历集合的完整工具。实际上,documentation for Iterator本质上说Iterator取代了Enumeration。每个集合都是一个Iterable,因此可以使用Iterator进行迭代。为什么会有一个方法Collections.enumeration在该集合上生成一个Enumeration

原因是在原始Java 1.0发行版中存在Enumeration,直到在1.2中添加了collections框架后才引入Iterator。因此,有大量使用Enumeration的代码和API。添加了Collections.enumeration方法以(然后)使基于集合的新代码适应需要使用Enumeration的旧代码。

10-07 19:43