getOrElse
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.0Samples
import kotlin.test.*
fun main() {
//sampleStart
val emptyArray: Array<Any> = emptyArray()
println(emptyArray.getOrElse(0) { "default" }) // default
val array = arrayOf(1)
println(array.getOrElse(0) { 0 }) // 1
println(array.getOrElse(-1) { 0 }) // 0
println(array.getOrElse(0) { "default" }) // 1
println(array.getOrElse(-1) { "default" }) // default
// arrays of primitive types
val intArray = intArrayOf(1, 2, 3)
println(intArray.getOrElse(0) { 0 }) // 1
println(intArray.getOrElse(-1) { 0 }) // 0
val booleanArray = booleanArrayOf(true, false)
println(booleanArray.getOrElse(0) { false }) // true
println(booleanArray.getOrElse(-1) { false }) // false
val charArray = charArrayOf('a', 'b', 'c')
println(charArray.getOrElse(0) { 'z' }) // a
println(charArray.getOrElse(-1) { 'z' }) // z
// arrays of unsigned types
val uIntArray = uintArrayOf(1u, 2u, 3u)
println(uIntArray.getOrElse(0) { 10u }) // 1
println(uIntArray.getOrElse(-1) { 10u }) // 10
//sampleEnd
}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.
Since Kotlin
1.0Samples
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val list = listOf(1, 2, 3)
println(list.getOrElse(0) { 42 }) // 1
println(list.getOrElse(2) { 42 }) // 3
println(list.getOrElse(3) { 42 }) // 42
println(list.getOrElse(-1) { 42 }) // 42
val emptyList = emptyList<Int>()
println(emptyList.getOrElse(0) { "no int" }) // no int
//sampleEnd
}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.3Samples
import kotlin.test.*
fun main() {
//sampleStart
val emptyArray: Array<Any> = emptyArray()
println(emptyArray.getOrElse(0) { "default" }) // default
val array = arrayOf(1)
println(array.getOrElse(0) { 0 }) // 1
println(array.getOrElse(-1) { 0 }) // 0
println(array.getOrElse(0) { "default" }) // 1
println(array.getOrElse(-1) { "default" }) // default
// arrays of primitive types
val intArray = intArrayOf(1, 2, 3)
println(intArray.getOrElse(0) { 0 }) // 1
println(intArray.getOrElse(-1) { 0 }) // 0
val booleanArray = booleanArrayOf(true, false)
println(booleanArray.getOrElse(0) { false }) // true
println(booleanArray.getOrElse(-1) { false }) // false
val charArray = charArrayOf('a', 'b', 'c')
println(charArray.getOrElse(0) { 'z' }) // a
println(charArray.getOrElse(-1) { 'z' }) // z
// arrays of unsigned types
val uIntArray = uintArrayOf(1u, 2u, 3u)
println(uIntArray.getOrElse(0) { 10u }) // 1
println(uIntArray.getOrElse(-1) { 10u }) // 10
//sampleEnd
}Returns the value for the given key if the value is present and not null. Otherwise, returns the result of the defaultValue function.
Note: it's not recommended to use this function if the map is expected to contain null values. Use either getOrElseIfNull, or getOrElseIfMissing instead to express the intent what to return when the key is mapped to null value more clearly.
Since Kotlin
1.0Samples
import kotlin.test.*
import java.util.*
fun main() {
//sampleStart
val map = mutableMapOf<String, Int?>()
println(map.getOrElse("x") { 1 }) // 1
map["x"] = 3
println(map.getOrElse("x") { 1 }) // 3
map["x"] = null
println(map.getOrElse("x") { 1 }) // 1
//sampleEnd
}