# length property

The number of elements in `this`

.

Counting all elements may involve iterating through all elements and can
therefore be slow.
Some iterables have a more efficient way to find the number of elements.
These *must* override the default implementation of `length`

.

## Implementation

```
@override
int get length => _base.length;
```

Setting the `length`

changes the number of elements in the list.

The list must be growable.
If `newLength`

is greater than current length,
new entries are initialized to `null`

,
so `newLength`

must not be greater than the current length
if the element type `E`

is non-nullable.

```
final maybeNumbers = <int?>[1, null, 3];
maybeNumbers.length = 5;
print(maybeNumbers); // [1, null, 3, null, null]
maybeNumbers.length = 2;
print(maybeNumbers); // [1, null]
final numbers = <int>[1, 2, 3];
numbers.length = 1;
print(numbers); // [1]
numbers.length = 5; // Throws, cannot add `null`s.
```

## Implementation

```
@override
set length(int newLength) {
_base.length = newLength;
}
```