# first property

1. @override

E get first
override

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

    @override
    E get first => _list.first;

1. @override

set first (E 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(E value) {
      _list.first = value;
    }