Метод replaceRange
Заменяет диапазон элементов элементами из replacements.
Удаляет объекты в диапазоне от start до end, затем вставляет элементы из replacements в start.
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 ≤ длина. Пустой диапазон (с 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> iterable) {
throw new UnsupportedError("Cannot modify an immutable List.");
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/ImmutableListMixin/replaceRange.html