null, если элементов нет или их несколько.">
НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
395 of 1310 menu

Функция singleOrNull

Функция singleOrNull возвращает единственный элемент коллекции, соответствующий заданному предикату. Если в коллекции нет элементов, удовлетворяющих условию, или их несколько, функция возвращает null. Работает с массивами Array, списками List, множествами Set и другими типами коллекций.

Импорт

import kotlin.collections.singleOrNull

Синтаксис

// Без предиката fun <T> Iterable<T>.singleOrNull(): T? fun <T> Array<T>.singleOrNull(): T? // С предикатом inline fun <T> Iterable<T>.singleOrNull( predicate: (T) -> Boolean ): T? inline fun <T> Array<T>.singleOrNull( predicate: (T) -> Boolean ): T?

Пример

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

val list = listOf(5) val res = list.singleOrNull() println(res)

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

Int 5

Пример

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

val list = emptyList<Int>() val res = list.singleOrNull() println(res)

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

null

Пример

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

val list = listOf(1, 2, 3) val res = list.singleOrNull() println(res)

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

null

Пример

Используем предикат для поиска единственного элемента, большего 3:

val list = listOf(1, 2, 4, 5) val res = list.singleOrNull { it > 3 } println(res)

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

null

Пример

Найдем единственный элемент, равный 3:

val list = listOf(1, 2, 3, 4, 5) val res = list.singleOrNull { it == 3 } println(res)

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

Int 3

Пример

Работа с массивом символов:

val arr = arrayOf('a', 'b', 'c') val res = arr.singleOrNull { it == 'b' } println(res)

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

Char b

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

  • функцию single,
    которая выбрасывает исключение вместо возврата null
  • функцию firstOrNull,
    которая возвращает первый элемент или null
  • функцию lastOrNull,
    которая возвращает последний элемент или null
  • функцию elementAtOrNull,
    которая возвращает элемент по индексу или null
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить