removeRange method

  1. @override
void removeRange(
  1. int start,
  2. int end
)
override

Removes a range of elements from the list.

Removes the elements with positions greater than or equal to start and less than end, from the list. This reduces the list's length by end - start.

The provided range, given by start and end, must be valid. A range from start to end is valid if 0 ≤ startendlength. An empty range (with end == start) is valid.

The list must be growable.

final numbers = <int>[1, 2, 3, 4, 5];
numbers.removeRange(1, 4);
print(numbers); // [1, 5]

Implementation

@override
void removeRange(int start, int end) {
  RangeError.checkValidRange(start, end, length, "start", "end");

  // Stop listening to the element that will be replaced
  for (int i = start; i < end; i++) {
    E element = elementAt(i);
    if (_propagateNotification &&
        element != null &&
        element is ChangeNotifier) {
      element.removeListener(_propagate);
    }
  }

  _values.removeRange(start, end);
  notifyListeners();
}