Java:iterator/iterable的Collections.list
为什么Java:iterator/iterable的Collections.list,java,list,collections,Java,List,Collections,为什么java.util.Collections.list仅用于枚举,而不用于迭代器(或Iterable)?或者为什么Iterator(或者Iterable)没有重载此函数?有没有其他方法可以做到这一点?有什么原因吗?来自JavaDoc: 返回一个数组列表,其中包含指定枚举返回的元素,其顺序与枚举返回的元素的顺序相同。此方法提供返回枚举的旧式API与需要集合的新API之间的互操作性 如果您有一个集合并希望基于该集合创建新列表,则可以使用构造函数或addAll()方法。此方法类似于集合框架提供的适
java.util.Collections.list
仅用于枚举
,而不用于迭代器
(或Iterable
)?或者为什么Iterator
(或者Iterable
)没有重载此函数?有没有其他方法可以做到这一点?有什么原因吗?来自JavaDoc:
返回一个数组列表,其中包含指定枚举返回的元素,其顺序与枚举返回的元素的顺序相同。此方法提供返回枚举的旧式API与需要集合的新API之间的互操作性
如果您有一个集合并希望基于该集合创建新列表,则可以使用构造函数或addAll()
方法。此方法类似于集合框架提供的适配器
对于自定义iterables,您可以使用增强的For循环将迭代器返回的元素复制到现有列表中。其目的是在返回枚举的旧API和需要集合的新API之间提供互操作性。现在还没有人真正回答这个问题,所以我来:
当它介绍什么时,可能还没有
Iterable
。现在,它已经过时了(大多数Collection
实现的构造函数提供相同的东西),只是为了向后兼容而保留在那里。哪个Collections.list?它是java.util.Collections
的一部分吗?是的,但是为什么没有用于迭代器
或Iterable的函数?我知道我可以做些什么来解决这个问题。但我的问题不是这个。这是关于:如果有一个函数用于枚举
,为什么这个函数已经没有了?@Albert-我想问另一个问题:他们为什么要实现列表
方法?在这样一个突出的实用程序类中,通常不需要这样一个专门的方法。即使使用Java1.4,也只需要2-4行代码。