getOrElse

inline fun <T> Array<out T>.getOrElse(index: Int, defaultValue: (Int) -> T): T
inline fun ByteArray.getOrElse(index: Int, defaultValue: (Int) -> Byte): Byte
inline fun ShortArray.getOrElse(index: Int, defaultValue: (Int) -> Short): Short
inline fun IntArray.getOrElse(index: Int, defaultValue: (Int) -> Int): Int
inline fun LongArray.getOrElse(index: Int, defaultValue: (Int) -> Long): Long
inline fun FloatArray.getOrElse(index: Int, defaultValue: (Int) -> Float): Float
inline fun DoubleArray.getOrElse(index: Int, defaultValue: (Int) -> Double): Double
inline fun BooleanArray.getOrElse(index: Int, defaultValue: (Int) -> Boolean): Boolean
inline fun CharArray.getOrElse(index: Int, defaultValue: (Int) -> Char): Char

Returns an element at the given index or the result of calling the defaultValue function if the index is out of bounds of this array.


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

Returns an element at the given index or the result of calling the defaultValue function if the index is out of bounds of this list.


inline fun UIntArray.getOrElse(index: Int, defaultValue: (Int) -> UInt): UInt
inline fun ULongArray.getOrElse(index: Int, defaultValue: (Int) -> ULong): ULong
inline fun UByteArray.getOrElse(index: Int, defaultValue: (Int) -> UByte): UByte
inline fun UShortArray.getOrElse(index: Int, defaultValue: (Int) -> UShort): UShort

Returns an element at the given index or the result of calling the defaultValue function if the index is out of bounds of this array.

Since Kotlin

1.3

inline fun <K, V> Map<K, V>.getOrElse(key: K, defaultValue: () -> V): V

Returns the value for the given key, or the result of the defaultValue function if there was no entry for the given key.

Samples

import samples.*
import kotlin.test.*
import java.util.*
fun main() { 
   //sampleStart 
   val map = mutableMapOf<String, Int?>()
assertPrints(map.getOrElse("x") { 1 }, "1")

map["x"] = 3
assertPrints(map.getOrElse("x") { 1 }, "3")

map["x"] = null
assertPrints(map.getOrElse("x") { 1 }, "1") 
   //sampleEnd
}