Java:iterator / iterable的Collections.list

为什么java.util.Collections.list仅用于Enumeration但不用于Iterator (或Iterable )? 或者为什么Iterator (或Iterable )没有这个函数的重载? 有没有其他方法可以做到这一点? 这有什么理由吗?

没有人真的回答了,所以我走了:

当它介绍的时候,可能还没有Iterable 。 现在,它已经过时了(大多数Collection实现的构造函数提供相同的东西)并且只是保持向后兼容性。

来自JavaDoc:

返回一个数组列表,其中包含指定枚举返回的元素,这些元素按枚举返回的顺序排列。 此方法提供返回枚举的旧API和需要集合的新API之间的互操作性。

如果您有一个Collection并希望根据该集合创建新List,则可以使用构造函数或addAll()方法。 此方法类似于集合框架提供的适配器。

对于自定义迭代,您可以使用增强的for循环将迭代器返回的元素复制到现有列表。

它的目的是在返回枚举的旧API和需要集合的新API之间提供互操作性