ImmutableJS 中的 Iterable 和 Collection 有什么区别

What is the difference between a Iterable and a Collection in ImmutableJS

我已经阅读了文档,但我不清楚这两者之间的区别(特别是因为它们共享很多相同的运算符)

如果能看到一些解释差异的例子,那就太好了。一个比另一个多"common"吗?

首先,Collection 扩展了 Iterable,所以公平地说,每个 Collection 实例也是 Iterable

Collection 可以看作是物化的有限数据集。在 Iterable 接口之上,它定义了方法和成员,例如 sizelastequals 和 'hashCode`。

Iterable 表示您可以遍历的内容。在 Collections 之上,这包括延迟生成的序列(可能是无限的!例如 immutable.Repeat 能够构造无限的序列。)。因此,sizelast 在这里没有多大意义,equalshashCode 会非常棘手,可能不值得。