replaceRange 抽象方法
使用 replacements 的元素替换指定范围内的元素。
删除从 start 到 end 范围内的对象,然后在 start 位置插入 replacements 的元素。
final numbers = <int>[1, 2, 3, 4, 5];
final replacements = [6, 7];
numbers.replaceRange(1, 4, replacements);
print(numbers); // [1, 6, 7, 5]
提供的范围(由 start 和 end 给出)必须有效。如果从 start 到 end 满足 0 ≤ start ≤ end ≤ length,则范围有效。一个空的范围(其中 end == start)也是有效的。
操作 list.replaceRange(start, end, replacements) 大约等价于
final numbers = <int>[1, 2, 3, 4, 5];
numbers.removeRange(1, 4);
final replacements = [6, 7];
numbers.insertAll(1, replacements);
print(numbers); // [1, 6, 7, 5]
但可能更高效。
列表必须是可增长的。此方法在固定长度的列表上不适用,即使 replacements 有与替换范围相同数量的元素。在这种情况下,请使用 setRange。
实现
void replaceRange(int start, int end, Iterable<E> replacements);