Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
376 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция get

Функция get используется для получения элемента коллекции по указанному индексу или ключу. Применяется к массивам Array, спискам List, множествам Set и словарям Map. Для массивов, списков и множеств в параметр передается индекс элемента, для словарей - ключ. Если элемент не найден, выбрасывается исключение IndexOutOfBoundsException для коллекций или NoSuchElementException для словарей.

Синтаксис

// Для Array, List, Set operator fun get(index: Int): T
// Для Map operator fun get(key: K): V?
// Альтернативный синтаксис с квадратными скобками collection[index] map[key]

Пример

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

val arr = arrayOf('a', 'b', 'c', 'd', 'e') val res = arr.get(2) println(res)

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

Char 'c'

Пример

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

val list = listOf(1, 2, 3, 4, 5) val res = list[1] println(res)

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

Int 2

Пример

Получим элемент словаря по ключу "second":

val map = mapOf("first" to 1, "second" to 2, "third" to 3) val res = map.get("second") println(res)

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

Int? 2

Пример

Получим элемент множества по индексу 0:

val set = setOf('a', 'b', 'c', 'd', 'e') val res = set.elementAt(0) println(res)

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

Char 'a'

Пример

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

val arr = arrayOf(1, 2, 3) try { val res = arr.get(5) println(res) } catch (e: IndexOutOfBoundsException) { println("Error: ${e.message}") }

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

Error: Index 5 out of bounds for length 3

Для каких типов коллекций работает

Функция get работает для следующих типов коллекций:

  • Array - массивы
  • List - списки (включая MutableList)
  • Map - словари (включая MutableMap)
  • Set - множества (через elementAt)
  • String - строки (получение символа по индексу)

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

  • функцию getOrNull,
    которая возвращает null если элемент не найден
  • функцию getOrElse,
    которая возвращает значение по умолчанию если элемент не найден
  • функцию elementAt,
    которая используется для получения элемента по индексу в множествах
  • функцию getValue,
    которая используется для безопасного получения значений из словарей