Processing:Справочник языка Processing/arrayCopy()

Материал из Онлайн справочника
Версия от 22:11, 10 сентября 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


arrayCopy() [1]

Обозначение

arrayCopy()

Описание

Копирует один массив (или часть массива) во второй массив. Массив src копируется в массив dst – начиная с позиции, заданной в параметре srcPosition, и на позицию, заданную в параметре dstPosition. Количество копируемых элементов определяется параметром length. Обратите внимание, что копируемые значения перезапишут существующие значения в массиве, в который они копируются. Чтобы добавить значения, а не перезаписать их, используйте метод concat().

Упрощенная версия этого метода имеет только два аргумента – arrayCopy(src, dst) – и она копирует весь массив в другой массив того же размера. Тоже самое можно проделать с помощью arrayCopy(src, 0, dst, 0, src.length).

Этот метод гораздо эффективней для копирования массива данных, чем итерирование при помощи цикла for() и копирование каждого элемента по отдельности. Этот метод копирует только указатели, и это значит, что в большинстве случаев он копирует только одномерные массивы (т.е. массивы с одним набором квадратных скобочек). Если использовать этот метод на двухмерном (трехмерном и т.д.) массиве, он скопирует только указатели на первое измерение, потому что двухмерные массивы – это просто «массив массивов». Это, впрочем, не выдаст никакой ошибки, т.к. часто этот метод такого поведения и ждет. Внутренне arrayCopy() метод вызывает другой метод – System.arraycopy() – и они во многом похожи друг на друга, т.к. arrayCopy() наследует много элементов у System.arraycopy().

Синтаксис

arrayCopy(src, srcPosition, dst, dstPosition, length)
arrayCopy(src, dst, length)
arrayCopy(src, dst)

Параметры

src          исходный массив. Тип данных  Object
srcPosition  стартовая позиция в исходном массиве. Тип данных  int
dst          массив, в который будут копироваться данные того же типа, что и в исходном массиве. Тип данных  Object
dstPosition  стартовая позиция в массиве, куда будут копироваться данные. Тип данных  int
length       количество копируемых элементов массива. Тип данных  int

Возвращаемое значение

void

Пример

№1

String[] north = { "OH", "IN", "MI" };
String[] south = { "GA", "FL", "NC" };
arrayCopy(north, south);
println(south);
// напечатает в консоли содержимое обновленного массива:
// [0] "OH"
// [1] "IN"
// [2] "MI"

№2

String[] north = { "OH", "IN", "MI"};
String[] south = { "GA", "FL", "NC"}; 
arrayCopy(north, 1, south, 0, 2);
println(south);
// напечатает в консоли содержимое обновленного массива:
// [0] "IN"
// [1] "MI"
// [2] "NC"

См.также

Внешние ссылки