假设我们有一个自定义集合
class CopyOnWriteCollection<T> {
// returns copy of collection with new element
fun add(element: T): CopyOnWriteCollection<T> {
...
}
}
如果我需要添加几个元素,我会这样做:
val newCollection = oldCollection
.add(1)
.add(2)
.add(3)
并且newCollection包含来自oldCollection并且还包含 1,2,3 的元素。完美的!
但是如何使用forEachof从另一个集合中添加元素map?
val collection = CopyOnWriteCollection()
(1..3).forEach { collection.add(it) } // this approach works only with mutable collections