假设我们有一个自定义集合
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 的元素。完美的!
但是如何使用forEach
of从另一个集合中添加元素map
?
val collection = CopyOnWriteCollection()
(1..3).forEach { collection.add(it) } // this approach works only with mutable collections