setRange方法
override
将 iterable 的某些元素写入此列表的范围。
先跳过 skipCount
个对象,然后将 iterable
中的对象复制到此列表的 start
(包含)到 end
(不包含)的范围。
final list1 = <int>[1, 2, 3, 4];
final list2 = <int>[5, 6, 7, 8, 9];
// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
// of list1.
const skipCount = 3;
list1.setRange(1, 3, list2, skipCount);
print(list1); // [1, 8, 9, 4]
提供的范围(由 start
和 end
确定)必须有效。如果 0 ≤ start
≤ end
≤ 长度,则从 start
到 end
的范围是有效的。一个空的范围(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.");
}