setAll 方法

void setAll(
  1. int index,
  2. Iterable<E> iterable
)
override

使用 iterable 的对象覆盖元素。

将 iterable 的元素写入此列表,从位置 index 开始。此操作不会增加列表的长度。

index 必须是非负数,并且不大于 length

iterable 的元素数量不能超过从 index 到 length 的范围。

如果 iterable 基于此列表,其值可能在 setAll 操作过程中改变。

final list = <String>['a', 'b', 'c', 'd'];
list.setAll(1, ['bee', 'sea']);
print(list); // [a, bee, sea, d]

实现

void setAll(int index, Iterable<E> iterable) {
  if (iterable is List) {
    setRange(index, index + iterable.length, iterable);
  } else {
    for (E element in iterable) {
      this[index++] = element;
    }
  }
}