9.1.1.9.7 plus 与 minus 运算符

原文链接: https://kotlinlang.org/docs/collection-plus-minus.html

9.1.1.9.7 plus 与 minus 运算符

在 Kotlin 中,plus(+)和 minus(-)运算符是为集合定义的。它们把集合作为第一个操作数;第二个操作数既可以是元素,也可以是另一个集合。返回值是一个新的只读集合:

  • plus 的结果包含原集合中的元素以及第二个操作数中的元素。
  • minus 的结果包含原集合中的元素,但除了第二个操作数中的元素。如果它是元素,minus 会移除其第一次出现;如果它是集合,则会移除其元素的所有出现。
1
2
3
4
5
6
7
8
9

fun main() {
    val numbers = listOf("one", "two", "three", "four")

    val plusList = numbers + "five"
    val minusList = numbers - listOf("three", "four")
    println(plusList)
    println(minusList)
}

关于映射的 plus 和 minus 运算符细节,请参阅映射特有的操作。集合也定义了复合赋值运算符 plusAssign(+=)和 minusAssign(-=)。不过对于只读集合,它们实际上会使用 plus 或 minus 运算符,并尝试把结果赋给同一个变量。因此,它们只能用于 var 声明的只读集合。对于可变集合,即使变量是 val,它们也会修改集合本身。更多细节请参阅集合的写操作。