One of the most common tasks you encounter while working with a list in Dart is removing its items. Similar to various programming languages, Dart has some built-in functions that help us get this matter done quickly.
This method is used to remove the first occurrence of a value from a list. It returns true if that value was in the list, returns false otherwise.Advertisements
Example:
final myList = ['a', 'b', 'c', 'd', 'e', 'f', 'd', 'b']; void main[]{ myList.remove['b']; print[myList]; }Output:
This method is used to remove all items from a list that satisfy one or many conditions.
Example
This example removes people who are under 18 from a given list:
final List people = [ {'name': 'John', 'age': 30}, {'name': 'Bob', 'age': 50}, {'name': 'Tom', 'age': 14}, {'name': 'Donald', 'age': 3} ]; void main[] { people.removeWhere[[person] => person['age'] pet.name == petName]; }removeWhere accepts a callback as an argument. That callback must return a boolean, and accepts a single element from the list as an argument. It will be called on every element.
There are several methods on lists that contain the word `where` in their name. These are extremely useful, and all work more or less the same.
In the beginning of this lesson, I mentioned methods like removeAt, removeRange, and removeLast. Briefly, these methods do the following:
- removeLast
- removes the last element from the list, and returns that element
- removeAt[idx]
- removes the element from the list at the given index, and returns that element
- removeRange[startIndex, endIndex]
Removes the objects in the range start inclusive to end exclusive. returns nothing [void]
Give it a try:
A stack is an abstract data type that has one main rule: first-in-last-out. In human words, that means that the only element that can be removed from a queue is the element that was inserted most recently. Stacks's can be nicely visualized like this:
You can implement a stack by using a list, and removing elements with methods like remove, removeAt, or [might I suggest] removeLast.