map

functor. 받은 블록의 마지막 문을 반환한다.

public inline fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R> {
    return mapTo(ArrayList<R>(collectionSizeOrDefault(10)), transform)
}

public inline fun <T, R, C: MutableCollection<in R>>
Iterable<T>.mapTo(destination: C, transform: (T) -> R): C {
    for (item in this) 
        destination.add(transform(item))
    return destination
}


val list = listOf(Person("a", 10), Person("b", 30), Person("c", 15))
println(list.map{ "${it.name} : ${it.age}" })  // [a : 10, b : 30, c : 15]
// Person 타입이 String 으로 타입이 변환되었다.

Last updated