Функция single
Функция single возвращает единственный элемент коллекции.
Если коллекция пустая, функция выбрасывает исключение NoSuchElementException.
Если коллекция содержит более одного элемента, функция выбрасывает исключение IllegalArgumentException.
Работает с коллекциями: Array, List, Set, Iterable.
Для Map функция недоступна.
Синтаксис
fun <T> Array<out T>.single(): T
fun <T> Iterable<T>.single(): T
fun <T> List<T>.single(): T
fun <T> Set<T>.single(): T
Пример
Получим единственный элемент из списка:
val list = listOf("apple")
val res = list.single()
println(res)
Результат выполнения кода:
String "apple"
Пример
Попробуем получить элемент из пустого списка:
val list = emptyList<String>()
val res = list.single()
println(res)
Результат выполнения кода:
Exception in thread "main" java.util.NoSuchElementException: List is empty.
Пример
Попробуем получить элемент из списка с несколькими элементами:
val list = listOf("apple", "banana")
val res = list.single()
println(res)
Результат выполнения кода:
Exception in thread "main" java.lang.IllegalArgumentException: List has more than one element.
Пример
Использование с массивом:
val array = arrayOf(42)
val res = array.single()
println(res)
Результат выполнения кода:
Int 42
Пример
Использование с множеством:
val set = setOf('a')
val res = set.single()
println(res)
Результат выполнения кода:
Char a
Смотрите также
-
функцию
singleOrNull,
которая возвращаетnullвместо исключения -
функцию
first,
которая возвращает первый элемент коллекции -
функцию
last,
которая возвращает последний элемент коллекции -
функцию
elementAt,
которая возвращает элемент по указанному индексу