【发布时间】:2020-12-02 08:38:33
【问题描述】:
我对@987654321@ 和List<int> 之间的区别感到有些困惑?因为有时候我面对Iterable<SomeObject>,不知道为什么用它?
谢谢。
【问题讨论】:
我对@987654321@ 和List<int> 之间的区别感到有些困惑?因为有时候我面对Iterable<SomeObject>,不知道为什么用它?
谢谢。
【问题讨论】:
已经回答了差异部分,但没有回答为什么要使用它。您要使用可迭代的主要原因是因为它是通用的。
对该对象的唯一要求是它必须是可迭代的,也就是说,您可以对其进行迭代。使用列表,您可以编写一个 for 循环进行迭代,对于 map,您可以遍历它的键并对值做一些事情,函数并不关心如何。它唯一关心的就是遍历所有值的能力。
【讨论】:
我发现的是:
Iterable 是可以顺序访问的元素的集合,不能直接实例化它。
list和Iterable的主要区别在于:
使用 Iterable,你不能保证按索引读取元素是有效的。与 List 不同,Iterable 没有 [] 运算符。
来源:
【讨论】: