fillRange method
void
fillRange(])
override
Overwrites a range of elements with fillValue
.
Sets the positions greater than or equal to start
and less than end
,
to fillValue
.
The provided range, given by start
and end
, must be valid.
A range from start
to end
is valid if 0 ≤ start
≤ end
≤ length.
An empty range (with end == start
) is valid.
If the element type is not nullable, the fillValue
must be provided and
must be non-null
.
Example:
final words = List.filled(5, 'old');
print(words); // [old, old, old, old, old]
words.fillRange(1, 3, 'new');
print(words); // [old, new, new, old, old]
Implementation
@override
void fillRange(
int start,
int end, [
E? fillValue,
bool notifyListeners = true,
]) {
assert(start >= 0 && start <= length);
assert(end >= start && end <= length);
final elements = notifyListeners ? _toList(start, end) : null;
value.fillRange(start, end, fillValue);
if (notifyListeners) {
if (elements != null) {
_notifyEventListeners(CollectionEventType.update, elements, start);
}
this.notifyListeners(value);
}
}