Processing:Справочник языка Processing/arrayCopy(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= arrayCopy() <ref>[https://processing.org/reference/arrayCopy_.html processing.org - arrayCopy()]</ref>= | = arrayCopy() <ref>[https://processing.org/reference/arrayCopy_.html processing.org - arrayCopy()]</ref>= | ||
Строка 10: | Строка 7: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
arrayCopy() | arrayCopy() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 24: | Строка 21: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
arrayCopy(src, srcPosition, dst, dstPosition, length) | arrayCopy(src, srcPosition, dst, dstPosition, length) | ||
arrayCopy(src, dst, length) | arrayCopy(src, dst, length) | ||
Строка 32: | Строка 29: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
src – исходный массив. Тип данных – Object | src – исходный массив. Тип данных – Object | ||
srcPosition – стартовая позиция в исходном массиве. Тип данных – int | srcPosition – стартовая позиция в исходном массиве. Тип данных – int | ||
Строка 42: | Строка 39: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 50: | Строка 47: | ||
=== №1 === | === №1 === | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
String[] north = { "OH", "IN", "MI" }; | String[] north = { "OH", "IN", "MI" }; | ||
String[] south = { "GA", "FL", "NC" }; | String[] south = { "GA", "FL", "NC" }; | ||
Строка 63: | Строка 60: | ||
=== №2 === | === №2 === | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
String[] north = { "OH", "IN", "MI"}; | String[] north = { "OH", "IN", "MI"}; | ||
String[] south = { "GA", "FL", "NC"}; | String[] south = { "GA", "FL", "NC"}; | ||
Строка 79: | Строка 76: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ | |||
Текущая версия от 22:11, 10 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
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"
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |