Kotlin/포스팅

코틀린 컬렉션 변환

짜집퍼박사(짜박) 2024. 1. 1. 13:47

코틀린에서는 다양한 컬렉션 변환 함수를 제공하여 하나의 컬렉션을 다른 형태로 변환할 수 있습니다. 이러한 변환은 자주 사용되며, 적절하게 활용하면 코드를 간결하게 만들 수 있습니다.

 

1. toList() 함수

다른 컬렉션을 리스트로 변환합니다.

val setOfNumbers = setOf(1, 2, 3, 4, 5)

val listOfNumbers = setOfNumbers.toList()
// 결과: listOfNumbers = [1, 2, 3, 4, 5]

 

2. toSet() 함수

다른 컬렉션을 세트로 변환합니다.

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

val setOfNumbers = listOfNumbers.toSet()
// 결과: setOfNumbers = [1, 2, 3, 4, 5]

 

3. toMutableList() 함수

다른 컬렉션을 변경 가능한 리스트로 변환합니다.

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

val mutableList = listOfNumbers.toMutableList()
// 결과: mutableList = [1, 2, 3, 4, 5]

 

4. toMutableSet() 함수

다른 컬렉션을 변경 가능한 세트로 변환합니다.

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

val mutableSet = listOfNumbers.toMutableSet()
// 결과: mutableSet = [1, 2, 3, 4, 5]

 

5. toMap() 함수

Pair의 리스트나 다른 맵을 사용하여 다른 컬렉션을 맵으로 변환합니다.

val pairs = listOf("one" to 1, "two" to 2, "three" to 3)

val map = pairs.toMap()
// 결과: map = {one=1, two=2, three=3}

 

6. toMutableMap() 함수

다른 맵이나 Pair의 리스트를 사용하여 변경 가능한 맵으로 변환합니다.

val map = mapOf("one" to 1, "two" to 2, "three" to 3)

val mutableMap = map.toMutableMap()
// 결과: mutableMap = {one=1, two=2, three=3}

 

7. asSequence() 함수

컬렉션을 시퀀스로 변환합니다. 시퀀스는 지연 계산을 통해 효율적인 연산을 제공합니다.

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

val sequenceOfNumbers = listOfNumbers.asSequence()
// 결과: sequenceOfNumbers = Sequence{1, 2, 3, 4, 5}

 

8. asIterable() 함수

컬렉션을 Iterable로 변환합니다.

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

val iterableOfNumbers: Iterable<Int> = listOfNumbers.asIterable()
// 결과: iterableOfNumbers = [1, 2, 3, 4, 5]

 

9. flatMap() 함수

컬렉션의 각 요소에 대해 변환 함수를 적용하고 결과를 평탄화하여 새로운 컬렉션을 생성합니다.

val nestedList = listOf(listOf(1, 2), listOf(3, 4), listOf(5, 6))

val flatList = nestedList.flatMap { it }
// 결과: flatList = [1, 2, 3, 4, 5, 6]

 

10. distinct() 함수

컬렉션 내에서 중복된 요소를 제거한 새로운 컬렉션을 생성합니다.

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

val distinctNumbers = listOfNumbers.distinct()
// 결과: distinctNumbers = [1, 2, 3, 4, 5]

이러한 함수들을 적절히 사용하여 컬렉션을 필요한 형태로 변환할 수 있습니다. 변환은 코드의 가독성과 효율성을 높이는 데에 중요한 역할을 합니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 컬렉션 순서  (0) 2024.01.01
코틀린 하위 컬렉션 추출  (0) 2024.01.01
코틀린 컬렉션 걸러내기  (0) 2024.01.01
코틀린 컬렉션 집계  (0) 2024.01.01
코틀린 컬렉션 조건 검사  (0) 2024.01.01