last property Null safety

E last
inherited

Returns the last element.

Throws a StateError if this is empty. Otherwise may iterate through the elements and returns the last one seen. Some iterables may have more efficient ways to find the last element (for example a list can directly access the last element, without iterating through the previous ones).

Implementation

@override
E get last => _base.last;
void last=(E value)
override

The last element of the list.

The list must be non-empty when accessing its last element.

The last element of a list can be modified, unlike an Iterable. A list.last is equivalent to theList[theList.length - 1], both for getting and setting the value.

final numbers = <int>[1, 2, 3];
print(numbers.last); // 3
numbers.last = 10;
print(numbers.last); // 10
numbers.clear();
numbers.last; // Throws.

Implementation

@override
set last(E value) {
  if (isEmpty) throw RangeError.index(0, this);
  this[length - 1] = value;
}