Функция single

Функция single возвращает единственный элемент коллекции. Если коллекция пустая, функция выбрасывает исключение NoSuchElementException. Если коллекция содержит более одного элемента, функция выбрасывает исключение IllegalArgumentException. Работает с коллекциями: Array, List, Set, Iterable. Для Map функция недоступна.

Синтаксис

kotlinfun <T> Array<out T>.single(): T
fun <T> Iterable<T>.single(): T
fun <T> List<T>.single(): T
fun <T> Set<T>.single(): T

Пример

Получим единственный элемент из списка:

kotlinval list = listOf("apple")
val res = list.single()
println(res)

Результат выполнения кода:

kotlinString "apple"

Пример

Попробуем получить элемент из пустого списка:

kotlinval list = emptyList<String>()
val res = list.single()
println(res)

Результат выполнения кода:

kotlinException in thread "main" java.util.NoSuchElementException: List is empty.

Пример

Попробуем получить элемент из списка с несколькими элементами:

kotlinval list = listOf("apple", "banana")
val res = list.single()
println(res)

Результат выполнения кода:

kotlinException in thread "main" java.lang.IllegalArgumentException: List has more than one element.

Пример

Использование с массивом:

kotlinval array = arrayOf(42)
val res = array.single()
println(res)

Результат выполнения кода:

kotlinInt 42

Пример

Использование с множеством:

kotlinval set = setOf('a')
val res = set.single()
println(res)

Результат выполнения кода:

kotlinChar a

Смотрите также

  • функцию singleOrNull,
    которая возвращает null вместо исключения
  • функцию first,
    которая возвращает первый элемент коллекции
  • функцию last,
    которая возвращает последний элемент коллекции
  • функцию elementAt,
    которая возвращает элемент по указанному индексу