remove method
Removes the first occurrence of value
from this list.
Returns true if value
was in the list, false otherwise.
The list must be growable.
final parts = <String>['head', 'shoulders', 'knees', 'toes'];
final retVal = parts.remove('head'); // true
print(parts); // [shoulders, knees, toes]
The method has no effect if value
was not in the list.
final parts = <String>['shoulders', 'knees', 'toes'];
// Note: 'head' has already been removed.
final retVal = parts.remove('head'); // false
print(parts); // [shoulders, knees, toes]
Implementation
@override
bool remove(Object? value, {bool notifyListeners = true}) {
if (value == null && !contains(null)) {
return false;
} else if (value != null && value is! E) {
return false;
}
final index = notifyListeners ? this.value.indexOf(value as E) : null;
final removed = this.value.remove(value);
if (notifyListeners && removed) {
notifyAllListeners(CollectionEventType.removal, index, value as E);
}
return removed;
}