Метод setRange
void setRange(Копирует объекты из iterable, пропуская skipCount объектов сначала, в диапазон start, включительно, до end, исключая, списка.
List<int> list1 = [1, 2, 3, 4];
List<int> list2 = [5, 6, 7, 8, 9];
// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
// of list1.
list1.setRange(1, 3, list2, 3);
list1.join(', '); // '1, 8, 9, 4'
Указанный диапазон, заданный start и end, должен быть допустимым. Диапазон от start до end допустим, если 0 <= start <= end <= len, где len - это length списка. Диапазон начинается с start и имеет длину end - start. Пустой диапазон (с end == start) также допустим.
Переданное iterable должно содержать достаточно объектов для заполнения диапазона от start до end после пропуска skipCount объектов.
Если iterable - это этот список, операция копирует элементы, первоначально находящиеся в диапазоне от skipCount до skipCount + (end - start) в диапазон start до end, даже если эти два диапазона перекрываются.
Если iterable зависит от этого списка каким-либо другим способом, никаких гарантий не предоставляется.
Исходный код
void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
throw new UnsupportedError("Cannot setRange on immutable List.");
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/ImmutableListMixin/setRange.html