Java:迭代器/可迭代的 Collections.list

发布于 2024-09-25 21:56:25 字数 213 浏览 3 评论 0原文

为什么java.util.Collections.list仅适用于Enumeration而不适用​​于Iterator(或Iterable)?或者为什么 Iterator (或 Iterable)没有重载此函数?还有其他方法可以做到这一点吗?有什么原因吗?

Why is java.util.Collections.list only for Enumeration but not for Iterator (or Iterable)? Or why is there not an overload of this function for Iterator (or Iterable)? Is there any other method which does that? Is there any reason why that is?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏佲洛 2024-10-02 21:56:25

还没有人真正回答这个问题,所以我在这里:

当它被引入时,可能还没有 Iterable 。现在,它已经过时了(大多数Collection实现的构造函数都提供相同的东西)并且只是为了向后兼容而保留下来。

Noone really answered it yet, so here I go:

When it what introduced, there probably was no Iterable yet. Now, it is obsolete (constructors of most Collection implementations provide the same thing) and just stays there for backward compatibility.

暮年慕年 2024-10-02 21:56:25

来自 JavaDoc:

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

如果您有一个 Collection 并且想要基于该集合创建新的 List,您可以使用构造函数或 addAll() 方法。这个方法有点像集合框架提供的适配器。

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

From the JavaDoc:

Returns an array list containing the elements returned by the specified enumeration in the order they are returned by the enumeration. This method provides interoperability between legacy APIs that return enumerations and new APIs that require collections.

If you have a Collection and want to make new List based on that collection, you can use constructors or the addAll() method. This method is somthing like an adapter provided by the collections framework.

For custom iterables you can use the enhanced for loop to copy the elements returnd by an iterator to an existing list.

画中仙 2024-10-02 21:56:25

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

it's purpose is to provide interoperability between legacy APIs that return enumerations and new APIs that require collections

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文