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

Функция subList

Функция subList возвращает представление части списка между указанным начальным индексом (включительно) и конечным индексом (исключительно). Если начальный и конечный индекс равны, возвращается пустой список. Возвращаемый список поддерживается исходным списком, поэтому изменения в возвращаемом списке отражаются в исходном списке и наоборот.

Синтаксис

fun <T> List<T>.subList(fromIndex: Int, toIndex: Int): List<T>

Параметры

fromIndex - начальный индекс (включительно)

toIndex - конечный индекс (исключительно)

Пример

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

val list = listOf('a', 'b', 'c', 'd', 'e') val sub = list.subList(1, 4) println(sub)

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

['b', 'c', 'd']

Пример

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

val list = listOf(1, 2, 3, 4, 5) val sub = list.subList(0, 3) println(sub)

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

[1, 2, 3]

Пример

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

val list = listOf('a', 'b', 'c', 'd', 'e') val sub = list.subList(2, list.size) println(sub)

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

['c', 'd', 'e']

Пример

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

val list = listOf(1, 2, 3, 4, 5) val sub = list.subList(2, 2) println(sub)

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

[]

Пример

Изменения в подсписке отражаются в исходном списке:

val mutableList = mutableListOf('a', 'b', 'c', 'd', 'e') val sub = mutableList.subList(1, 4) sub[0] = 'x' println("Original list: $mutableList") println("Sublist: $sub")

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

Original list: [a, x, c, d, e] Sublist: [x, c, d]

Пример

Изменения в исходном списке отражаются в подсписке:

val mutableList = mutableListOf(1, 2, 3, 4, 5) val sub = mutableList.subList(1, 4) mutableList[2] = 99 println("Original list: $mutableList") println("Sublist: $sub")

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

Original list: [1, 2, 99, 4, 5] Sublist: [2, 99, 4]

Исключения

Функция выбрасывает IndexOutOfBoundsException, если fromIndex или toIndex выходят за пределы списка.

Функция выбрасывает IllegalArgumentException, если fromIndex больше toIndex.

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

  • функцию take,
    которая возвращает первые n элементов списка
  • функцию takeLast,
    которая возвращает последние n элементов списка
  • функцию drop,
    которая возвращает список без первых n элементов
  • функцию slice,
    которая возвращает список элементов по указанным индексам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить