setRange 方法

void setRange(
  1. int start,
  2. int end,
  3. Iterable<E> iterable,
  4. [int skipCount = 0]
)
override

将 iterable 的一些元素写入列表的指定范围。

从头开始复制 iterable 的对象,跳过 skipCount 个对象,然后将对象复制到这个列表的从 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]

提供的范围(由 startend 给出)必须有效。一个从 startend 的范围有效如果 0 ≤ startendlength。一个空范围(end == start)是有效的。

iterable 必须有足够的对象来填充从 startend 的范围,在跳过 skipCount 个对象之后。

如果 iterable 是这个列表,则操作将正确地将从 skipCountskipCount + (end - start) 范围内的原始元素复制到 startend 范围,即使两个范围有重叠。

如果 iterable 在某种方式上依赖于这个列表,则不做任何保证。

实现

external void setRange(int start, int end, Iterable<E> iterable,
    [int skipCount = 0]);