Dev/Kotlin

Kotlin - unzip

healthyryu 2020. 7. 30. 23:53

코틀린 콜렉션 함수 : unzip()

 

예시

fun main() {
    val list = listOf("1123" to 1, "323" to 2, "12" to 1)
    val (strings, numbers) = list.unzip()
    print(strings)
    print(numbers)
}

결과

[1123, 323, 12][1, 2, 1]

 

unzip() 함수 내부

public fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>> {
    val expectedSize = collectionSizeOrDefault(10)
    val listT = ArrayList<T>(expectedSize)
    val listR = ArrayList<R>(expectedSize)
    for (pair in this) {
        listT.add(pair.first)
        listR.add(pair.second)
    }
    return listT to listR
}

 

 

반응형