Библиотеки » Коллекции (dart:collection) » Arrays » copy
функция Arrays::copy
Копирует заданное количество элементов из одного массива в другой
Синтаксис
staticvoid
Arrays.copy
(List src, int srcStart, List dst, int dstStart, int count)
Передаваемые параметры
List src, int srcStart, List dst, int dstStart, int countВозвращаемое значение
voidОписание
Метод copy
позволяет скопировать count
элементов из массива List src
в массив List dst
. Во время выполнения заменяются значения элементов в массиве dst
начиная с элемента с индексом dstStart
на значения элементов массива src
начиная с элемента srcStart
, пока не скопируется count
элементов.
dstStart
, dstStart + count - 1
, srcStart
, srcStart + count - 1
) выйдет за границы соответствующего массива, генерируется ошибка RangeError
.Заметки
Пример
// подключим библиотеку "dart:collection"
import "dart:collection";
void main() {
// инициализируем массив #1 с данными
List list_copySource;
list_copySource = ["a", "b", "c"];
// инициализируем массив #2 с данными
List list_copyDistance;
list_copyDistance = ["1", "2", "3"];
// скопируем 2-а элемента из начала первого массива во начало второго
Arrays.copy(list_copySource, 0, list_copyDistance, 0, 2);
// в результате получим такой список [a, b, 3]
print(list_copyDistance);
// очистим второй массив
list_copyDistance.clear();
// и если попробуем скопировать 1 элемент из первого массива, то
// получим ошибку RangeError, потому что целевой массив пуст!
Arrays.copy(list_copySource, 0, list_copyDistance, 0, 1);
// заполним второй массив
list_copyDistance = ["1", "2", "3"];
// и если попробуем скопировать 3 элемент из первого массива, но
// не в начала второго, а в конец, то тоже получим ошибку RangeError,
// потому что целевой массив по размеру не вместит еще два элемента!
Arrays.copy(list_copySource, 0, list_copyDistance, 2, 3);
}
Смотрите также
класс List - Базовый класс для организации и обработки массивов элементов
List::setRange - Копирует элементы из заданного списка в текущий
List::insertRange - Вставляет ряд новых элементов в список
List::removeRange - Удаляет ряд элементов из списка