我已经阅读了文档,但这两者之间的区别对我来说并不清楚(特别是因为他们共享很多相同的运算符)
看一些解释差异的例子也很棒。一个比另一个更“普通”吗?
答案 0 :(得分:1)
首先,Collection
扩展Iterable
,所以可以说,每个Collection
实例也是Iterable
。
Collection
可以被视为具体化的有限数据集。在Iterable
界面之上,它定义了方法和成员,例如size
,last
,equals
和'hashCode`。
Iterable
表示您可以迭代的内容。在Collections
的顶部,这包括延迟生成的序列(可能是无限的!例如immutable.Repeat
能够构造无限的序列。)。出于这个原因,size
,last
在这里没有多大意义,equals
和hashCode
会非常棘手,可能不值得。