elementAtOrElse

해당하는 인덱스의 값을 반환한다. 없다면 파라미터로 전달한 값을 두번째 인자로 전달한 함수에 적용한 값을 반환한다

public inline fun <T> List<T>.elementAtOrElse(index: Int, defaultValue: 
(Int)-> T): T {
    return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index)
}


val list = listOf(1, 2, 3, 4, 5)
println(list.elementAtOrElse(2, {it * 2}))  // 3
println(list.elementAtOrElse(10, {it * 2}))  // 20

Last updated