코틀린 언어 정리 4-11

Collection operations

Write operations

컬렉션에 요소를 추가, 삭제, 갱신하는 등의 연산들입니다. 여기서는 List, Set, Map 등에 공통적으로 적용할 수 있는 일반적인 개념의 함수들만 소개 합니다. 보다 자세한, 각 자료 구조에 특화된 내용들은 코틀린 언어 학습 사이트(kotlinlang.org)의 List Specific Operations, Map Specific Operations 를 참조하실 수 있습니다.


Adding elements

함수들

add, addAll

+, +=

주의: 연산자 오버로딩한 함수들(+, +=)을 사용하려면 컬렉션을 val로 선언해야 합니다.


Removing elements

함수들

remove, removeAll

retainAll

clear

 -, -=

주의: 연산자 오버로딩한 함수들(-, -=)을 사용하려면 컬렉션을 val로 선언해야 합니다.


Updating elements

List Specific Operations, Map Specific Operations 를 참조합니다.


전체 예제

fun test () {

   var list = mutableListOf("개", "고양이", "돼지", "소", "호랑이", "개", "고양이", "곰", "개", "곰")


   println(

       list.apply { add("수달") }

   )


   println(

       list.apply { addAll(1, listOf("들개", "살쾡이", "뱀", "악어")) }

   )


   var listClone = mutableListOf<String>().apply { addAll(0, list) }

   println(

       listClone.apply { remove("개") } // 가장 처음 찾은 "개" 요소 제거

   )


   println(

       listClone.apply { removeAll { it == "개" } } // "개"인 요소 모두 제거

   )


   println(

       listClone.apply { retainAll { it == "고양이" } } // "고양이"를 제외한 모든 요소 제거

   )


   println(

       listClone.apply { clear() }

   )


   // +, +=, -, -= 연산자를 이용한 컬렉션 요소 추가, 삭제. 기본적으로 add, addAll, remove, removeAll과 동일합니다.

   // 단 이 연산자들을 사용하기 위해서는 컬렉션을 val로 선언해야 합니다.

   val listVal = mutableListOf<String>().apply { addAll(0, list) }

   listVal += "두더쥐" // add

   println(listVal)


   listVal += setOf("두더쥐", "수달", "곰", "개") // addAll

   println(listVal)


   listVal -= "개" // remove

   println(listVal)


   listVal -= setOf("두더쥐", "수달", "곰", "개") // removeAll...중복된 요소까지 모두 찾아서 지웁니다

   println(listVal)


   return

}


+ Recent posts