first property

T get first
inherited

The first element.

Throws a StateError if this is empty. Otherwise returns the first element in the iteration order, equivalent to this.elementAt(0).

Implementation

E get first {
  if (length == 0) throw IterableElementError.noElement();
  return this[0];
}
  1. @override
set first (T value)
override

The first element of the list.

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

The first element of a list can be modified, unlike an Iterable. A list.first is equivalent to list[0], both for getting and setting the value.

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

Implementation

@override
set first(T value) {
  _context.conditionallyRunInAction(() {
    final oldValue = _list.first;
    if (oldValue != value) {
      _list.first = value;
      _notifyElementUpdate(0, value, oldValue);
    }
  }, _atom);
}