마지막 요소를 반환합니다.
주어진 조건자와 일치하는 마지막 요소를 반환합니다.
NoSuchElementException - 배열이 비어 있는 경우
public fun <T> List<T>.last(): T {
if (isEmpty())
throw NoSuchElementException("List is empty.")
return this[lastIndex]
}
public inline fun <T> List<T>.last(predicate: (T) -> Boolean): T {
val iterator = this.listIterator(size)
while (iterator.hasPrevious()) {
val element = iterator.previous()
if (predicate(element)) return element
}
throw NoSuchElementException("List contains no element matching the predicate.")
}
val list = listOf(1, 2, 3, 4)
println(list.last()) // 4
println(list.last { it % 2 == 1 }) // 3
println(list.last { it < 0 }) // NoSuchElementException
마지막 요소를 반환하거나 목록이 비어 있으면 null을 반환합니다.
주어진 조건자와 일치하는 마지막 요소를 반환하거나, 그러한 요소가 발견되지 않은 경우 null을 반환합니다.
public fun <T> List<T>.lastOrNull(): T? {
return if (isEmpty()) null else this[size - 1]
}
public inline fun <T> List<T>.lastOrNull(predicate: (T) -> Boolean): T? {
val iterator = this.listIterator(size)
while (iterator.hasPrevious()) {
val element = iterator.previous()
if (predicate(element)) return element
}
return null
}
val list = listOf(1, 2, 3, 4)
println(list.lastOrNull { it > 0 }) // 4
val emptyList = emptyList<Int>()
println(emptyList.lastOrNull()) // null
'코틀린 > [Elements] 요소 작업' 카테고리의 다른 글
[Kotlin][Collection] lastIndexOf (0) | 2024.08.21 |
---|---|
[Kotlin][Collection] indexOf / indexOfFirst / indexOfLast (0) | 2024.08.20 |
[Kotlin][Collection] first / firstOrNull (0) | 2024.08.20 |