Операторы 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
.
Для изменяемых коллекций этого не требуется.
Подробнее читайте в разделе Операции записи.