last property Null safety

Length last
override

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

Length get last {
  int len = this.length;
  if (len > 0) {
    return JS('Length', '#[#]', this, len - 1);
  }
  throw new StateError("No elements");
}
void last=(Length value)
inherited

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

void set last(E value) {
  if (length == 0) throw IterableElementError.noElement();
  this[length - 1] = value;
}