Skip to content

plus および minus 演算子

Kotlinでは、plus (+) および minus (-) 演算子がコレクションに対して定義されています。これらは最初のオペランドとしてコレクションを取り、2番目のオペランドは要素または別のコレクションのいずれかになります。返される値は新しい読み取り専用コレクションです。

  • plus の結果には、元のコレクションの要素 2番目のオペランドの要素が含まれます。
  • minus の結果には、元のコレクションの要素のうち、2番目のオペランドの要素 を除いたもの が含まれます。それが要素の場合、minus はその 最初の 出現箇所を削除します。それがコレクションの場合、その要素の すべての 出現箇所が削除されます。
kotlin
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 であればコレクションを変更します。詳細については、コレクションの書き込み操作を参照してください。