length property Null safety
inherited
The number of objects in this list.
The valid indices for a list are 0
through length - 1
.
Implementation
int get length => (_tail - _head) & (_table.length - 1);
inherited
Changes the length of this list.
If newLength
is greater than
the current length, entries are initialized to null
.
Increasing the length fails if the element type does not allow null
.
Throws an UnsupportedError if the list is fixed-length or
if attempting tp enlarge the list when null
is not a valid element.
Implementation
set length(int value) {
RangeError.checkNotNegative(value, "length");
var delta = value - length;
if (delta >= 0) {
var needsToGrow = _table.length <= value;
if (needsToGrow) _growTo(value);
_tail = (_tail + delta) & (_table.length - 1);
// If we didn't copy into a new table, make sure that we overwrite the
// existing data so that users don't accidentally depend on it still
// existing.
if (!needsToGrow) fillRange(value - delta, value, _defaultValue);
} else {
removeRange(value, length);
}
}