# insert method

1. @override

void insert(

1. int index,
2. E element

)
override

Inserts `element` at position `index` in this list.

This increases the length of the list by one and shifts all objects at or after the index towards the end of the list.

The list must be growable. The `index` value must be non-negative and no greater than length.

    final numbers = <int>[1, 2, 3, 4];
    const index = 2;
    numbers.insert(index, 10);
    print(numbers); // [1, 2, 10, 3, 4]

## Implementation

    @override
    void insert(int index, E element) {
      if (index < 0 || index > _size) {
        throw RangeError.index(index, this, 'index');
      }

      if (index == 0) {
        _addFirst(element);
      } else if (index == _size) {
        offer(element);
      } else {
        final node = _getNode(index);
        _insertBefore(element, node);
      }
    }