Операторы plus и minus
В Kotlin для коллекций определены операторы
plus (+) и
minus (-).
В качестве первого операнда они принимают коллекцию; вторым операндом может быть элемент или другая коллекция.
Возвращаемым результатом является новая неизменяемая коллекция:
- При использовании оператора
plusрезультат будет содержать элементы исходной коллекции и элементы второго операнда. - При использовании оператора
minusрезультат будет содержать элементы исходной коллекции за исключением элементов второго операнда. Если второй операнд — это элемент, то операторminusудалит его первое вхождение из исходной коллекции; если же это коллекция, то будут удалены все вхождения её элементов.
fun main() {
val numbers = listOf("one", "two", "three", "four")
val plusList = numbers + "five"
val minusList = numbers - listOf("three", "four")
println(plusList) // [one, two, three, four, five]
println(minusList) // [one, two]
}
Подробнее об использовании операторов plus и minus с ассоциативным списком можно ознакомиться в разделе Map: специфичные операции.
Также для коллекций определены расширенные операторы присваивания такие как,
plusAssign (+=) и
minusAssign (-=). Однако с неизменяемыми коллекциями они фактически используют операторы plus или minus, пытаясь присвоить результат той же переменной. Поэтому неизменяемая коллекция должна быть объявлена при помощи ключевого слова var.
Для изменяемых коллекций этого не требуется.
Подробнее читайте в разделе Операции записи.