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

Функция copyOfRange

Функция copyOfRange создает новый массив, содержащий элементы из указанного диапазона исходного массива. Функция работает только с массивами (Array) и не применяется к другим типам коллекций таким как List, Set или Map. В первый параметр передается начальный индекс (включительно), во второй параметр - конечный индекс (исключительно).

Синтаксис

fun <T> Array<out T>.copyOfRange(fromIndex: Int, toIndex: Int): Array<T>
fun ByteArray.copyOfRange(fromIndex: Int, toIndex: Int): ByteArray
fun ShortArray.copyOfRange(fromIndex: Int, toIndex: Int): ShortArray
fun IntArray.copyOfRange(fromIndex: Int, toIndex: Int): IntArray
fun LongArray.copyOfRange(fromIndex: Int, toIndex: Int): LongArray
fun FloatArray.copyOfRange(fromIndex: Int, toIndex: Int): FloatArray
fun DoubleArray.copyOfRange(fromIndex: Int, toIndex: Int): DoubleArray
fun BooleanArray.copyOfRange(fromIndex: Int, toIndex: Int): BooleanArray
fun CharArray.copyOfRange(fromIndex: Int, toIndex: Int): CharArray

Пример

Скопируем элементы с индекса 1 по 4 (исключительно) из массива символов:

val original = charArrayOf('a', 'b', 'c', 'd', 'e') val copy = original.copyOfRange(1, 4) println(copy.contentToString())

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

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

Пример

Скопируем элементы с индекса 2 до конца массива целых чисел:

val numbers = intArrayOf(1, 2, 3, 4, 5) val part = numbers.copyOfRange(2, numbers.size) println(part.contentToString())

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

IntArray [3, 4, 5]

Пример

Скопируем часть массива строк:

val words = arrayOf("apple", "banana", "cherry", "date", "elderberry") val slice = words.copyOfRange(1, 3) println(slice.contentToString())

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

Array<String> ["banana", "cherry"]

Пример

Если конечный индекс превышает размер массива, элементы будут заполнены значениями по умолчанию:

val arr = intArrayOf(1, 2, 3) val extended = arr.copyOfRange(0, 5) println(extended.contentToString())

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

IntArray [1, 2, 3, 0, 0]

Примечания

Функция copyOfRange работает только с массивами различных типов. Для работы с другими типами коллекций (List, Set) используйте функцию slice или subList.

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

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