Skip to content

플러스 및 마이너스 연산자

Kotlin에서는 컬렉션에 대해 plus (+) 및 minus (-) 연산자가 정의되어 있습니다. 이 연산자들은 첫 번째 피연산자로 컬렉션을 취하며, 두 번째 피연산자는 요소 또는 다른 컬렉션이 될 수 있습니다. 반환 값은 새로운 읽기 전용 컬렉션입니다:

  • plus 연산의 결과에는 원본 컬렉션의 요소와 두 번째 피연산자의 요소가 모두 포함됩니다.
  • minus 연산의 결과에는 두 번째 피연산자의 요소를 제외한 원본 컬렉션의 요소가 포함됩니다. 두 번째 피연산자가 요소인 경우, 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)
}

맵에 대한 plusminus 연산자에 대한 자세한 내용은 맵 관련 연산을 참조하세요. 복합 할당 연산자plusAssign (+=) 및 minusAssign (-=)도 컬렉션에 대해 정의됩니다. 하지만 읽기 전용 컬렉션의 경우, 이 연산자들은 실제로 plus 또는 minus 연산자를 사용하며 그 결과를 동일한 변수에 할당하려고 시도합니다. 따라서 var로 선언된 읽기 전용 컬렉션에서만 사용할 수 있습니다. 가변 컬렉션의 경우, val로 선언된 컬렉션이라도 그 내용을 수정합니다. 더 자세한 내용은 컬렉션 쓰기 연산을 참조하세요.