[Kotlin]함수 - toArray, toList, toMap, toSet

MariGold·2024년 12월 23일

[Kotlin]함수

목록 보기
3/14

Kotlin에서는 toArray, toList, toMap, toSet을 사용하여 collection의 type을 변환시킬 수 있습니다.


toArray

toArray는 collection의 type을 array로 변환하는 함수입니다. list나 set 등을 array로 변환할 때 사용합니다.

val numberList = listOf(1, 2, 3, 4, 5)
val numberArray = numberList.toArray()
println(numberArray.contentToString()) // [1, 2, 3, 4, 5] array 출력

toArray는 기본적으로 Array형태를 반환합니다. 하지만, 특정 type의 array로 반환하려면 toTypeArray형태의 함수를 사용해야 합니다.

val numberList = listOf(1, 2, 3, 4, 5)

val numberArray = numberList.toTypedArray()
println(numberArray.contentToString()) // [1, 2, 3, 4, 5] 기본 Array 출력

val intArray = numberList.toIntArray()
println(intArray.contentToString()) // [1, 2, 3, 4, 5] intArray 출력
  
val doubleArray = listOf(1.0, 2.0, 3.0).toDoubleArray()
println(doubleArray.contentToString()) // [1.0, 2.0, 3.0] doubleArray 출력
  
val longArray = listOf(1L, 2L, 3L).toLongArray()
println(longArray.contentToString()) // [1, 2, 3] longArray 출력
  
val charArray = listOf('a', 'b', 'c').toCharArray()
println(charArray.contentToString()) // [a, b, c] charArray 출력

기본 Array 형태로 변환하는 toTypedArray도 있는데, 해당 함수는 type을 지정하지 않아도 자동으로 type 추론을 통해 올바른 배열을 생성합니다.

val stringList = listOf("a", "b", "c")
val stringArray = stringList.toTypedArray()
println(stringArray.contentToString()) // [a, b, c] Array 출력

toList

toList는 collection의 type을 list로 변환하는 함수입니다. 일반적으로 array이나 map, set 등 다른 collection을 list로 변환할 때 사용합니다.

val numberSet = setOf(1, 2, 3, 4, 5)
val numberList = numbers.toList()
println(numberList) // [1, 2, 3, 4, 5] List 출력

toList를 통해 변환된 collection은 읽기 전용이므로 내부 값을 수정할 수 없습니다. 반면, toMutableList를 사용하여 변환된 collection은 수정 가능한 MutableList로 반환되며, 내부 값을 추가, 삭제, 변경할 수 있습니다.

val numberSet = setOf(1, 2, 3, 4, 5)
val mutableNumberList = numberSet.toMutableList()

mutableNumberList.add(6)
mutableNumberList.remove(3)
println(mutableNumberList) // [1, 2, 4, 5, 6] MutableList 출력

toMap

toMap은 collection의 type을 map으로 collection의 type을 변환하는 함수입니다. 각 요소가 key-value 쌍인 collection을 map으로 변환합니다.

val numberPairs = listOf("a" to 1, "b" to 2, "c" to 3)
val numberMap = numberPairs.toMap()
println(numberMap) // {a=1, b=2, c=3} Map 출력

toSet

toSet은 collection의 type을 set으로 변환하는 함수입니다. set은 중복을 허용하지 않는 collection이기 때문에, toSet함수는 중복된 값을 제거하는데 유용합니다.

val numberList = listOf(1, 2, 2, 3, 3, 4) 
val numberSet = numberList.toSet()
println(numberSet) // [1, 2, 3, 4] Set 출력
profile
많은 것을 알아가고 싶은 Android 주니어 개발자

0개의 댓글