随着C#我逐渐喜欢这个IEnumerable<T>界面.在很多情况下,您只需要提供和接受.此外,它在.Net库中很有用.例如,你有一个List<T>类的构造函数IEnumerable<T>.
我现在必须使用Java,我自然希望使用等效的Iterable<T>接口.但是,它似乎并不像我可以在任何地方使用它.一切似乎都在使用扩展Collection<T>接口.为什么是这样?
作为一个例子,你有一个ArrayList<T>构造函数,它采用Collection<T>:
按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表.
为什么不采取Iterable<T>反而?
Iterable仅在Java 5中添加.这意味着旧方法(大多数)使用集合.即使是可以采用Iterable的新方法也没有使用它.:(
我认为问题在于大多数Iterable都是Collections.
| 归档时间: |
|
| 查看次数: |
390 次 |
| 最近记录: |