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

Функция slice

Функция slice возвращает новую коллекцию, содержащую элементы из исходной коллекции по указанным индексам или в указанном диапазоне. Функция доступна для массивов Array, списков List и других коллекций, поддерживающих доступ по индексу.

Синтаксис

fun <T> Iterable<T>.slice(indices: IntRange): List<T>
fun <T> Iterable<T>.slice(indices: Iterable<Int>): List<T>
fun <T> Array<T>.slice(indices: IntRange): List<T>
fun <T> Array<T>.slice(indices: Iterable<Int>): List<T>

Пример

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

val list = listOf('a', 'b', 'c', 'd', 'e') val res = list.slice(1..3) println(res)

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

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

Пример

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

val array = arrayOf(1, 2, 3, 4, 5) val indices = listOf(0, 2, 4) val res = array.slice(indices) println(res)

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

List [1, 3, 5]

Пример

Получим часть строки с помощью slice:

val str = "abcde" val res = str.toList().slice(0..2) println(res)

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

List ['a', 'b', 'c']

Пример

Использование slice с набором индексов:

val numbers = listOf(10, 20, 30, 40, 50, 60) val selectedIndices = setOf(1, 3, 5) val res = numbers.slice(selectedIndices) println(res)

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

List [20, 40, 60]

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

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

  • Array - массивы любых типов
  • List - списки (как изменяемые, так и неизменяемые)
  • Iterable - любые итерируемые коллекции с доступом по индексу
  • CharSequence - после преобразования к списку символов

Не работает с:

  • Set - множества (не поддерживают доступ по индексу)
  • Map - словари (не поддерживают доступ по индексу)

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

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