첫 번째 요소를 반환합니다.
주어진 조건자와 일치하는 첫 번째 요소를 반환합니다.
NoSuchElementException - 컬렉션이 비어 있는 경우
public fun <T> Iterable<T>.first(): T {
when (this) {
is List -> return this.first()
else -> {
val iterator = iterator()
if (!iterator.hasNext())
throw NoSuchElementException("Collection is empty.")
return iterator.next()
}
}
}
public inline fun <T> Iterable<T>.first(predicate: (T) -> Boolean): T {
for (element in this) if (predicate(element)) return element
throw NoSuchElementException("Collection contains no element matching the predicate.")
}
print(listOf<Int>().first()) // NoSuchElementException
val list = listOf(1, 2, 3, 4)
print(list.first()) // 1
첫 번째 요소를 반환하거나 컬렉션이 비어 있으면 null을 반환합니다.
주어진 조건과 일치하는 첫 번째 요소를 반환하거나, 요소를 찾을 수 없으면 null을 반환합니다.
public fun <T> List<T>.firstOrNull(): T? {
return if (isEmpty()) null else this[0]
}
public inline fun <T> Iterable<T>.firstOrNull(predicate: (T) -> Boolean): T? {
for (element in this) if (predicate(element)) return element
return null
}
print(listOf<Int>().firstOrNull()) // null
val intArray = intArrayOf(0, 1, 2, 3)
print(intArray.firstOrNull { it % 2 == 1 } ?: -1) // 1
'코틀린 > [Elements] 요소 작업' 카테고리의 다른 글
[Kotlin][Collection] indexOf / indexOfFirst / indexOfLast (0) | 2024.08.20 |
---|---|
[Kotlin][Collection] elementAt / elementAtOrElse / elementAtOrNull (0) | 2024.08.19 |
[Kotlin][Collection] contains (0) | 2024.08.19 |