elementAtOrElse所在位置是kotlin.collections.elementAtOrElse,其相關用法介紹如下。

用法一

inline fun <T> Array<out T>.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> T
): T
inline fun ByteArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Byte
): Byte
inline fun ShortArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Short
): Short
inline fun IntArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Int
): Int
inline fun LongArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Long
): Long
inline fun FloatArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Float
): Float
inline fun DoubleArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Double
): Double
inline fun BooleanArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Boolean
): Boolean
inline fun CharArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Char
): Char
@ExperimentalUnsignedTypes inline fun UIntArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> UInt
): UInt
@ExperimentalUnsignedTypes inline fun ULongArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> ULong
): ULong
@ExperimentalUnsignedTypes inline fun UByteArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> UByte
): UByte
@ExperimentalUnsignedTypes inline fun UShortArray.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> UShort
): UShort

如果 index 超出此數組的範圍,則返回給定 index 處的元素或調用 defaultValue 函數的結果。

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val list = listOf(1, 2, 3)
println(list.elementAtOrElse(0) { 42 }) // 1
println(list.elementAtOrElse(2) { 42 }) // 3
println(list.elementAtOrElse(3) { 42 }) // 42

val emptyList = emptyList<Int>()
println(emptyList.elementAtOrElse(0) { "no int" }) // no int
//sampleEnd
}

輸出:

1
3
42
no int

用法二

fun <T> Iterable<T>.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> T
): T

如果 index 超出此集合的範圍,則返回給定 index 處的元素或調用 defaultValue 函數的結果。

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val list = listOf(1, 2, 3)
println(list.elementAtOrElse(0) { 42 }) // 1
println(list.elementAtOrElse(2) { 42 }) // 3
println(list.elementAtOrElse(3) { 42 }) // 42

val emptyList = emptyList<Int>()
println(emptyList.elementAtOrElse(0) { "no int" }) // no int
//sampleEnd
}

輸出:

1
3
42
no int

用法三

inline fun <T> List<T>.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> T
): T

如果 index 超出此列表的範圍,則返回給定 index 處的元素或調用 defaultValue 函數的結果。

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val list = listOf(1, 2, 3)
println(list.elementAtOrElse(0) { 42 }) // 1
println(list.elementAtOrElse(2) { 42 }) // 3
println(list.elementAtOrElse(3) { 42 }) // 42

val emptyList = emptyList<Int>()
println(emptyList.elementAtOrElse(0) { "no int" }) // no int
//sampleEnd
}

輸出:

1
3
42
no int