sublist method Null safety
override
Returns a new list containing the elements between start
and end
.
The new list is a List<E>
containing the elements of this list at
positions greater than or equal to start
and less than end
in the same
order as they occur in this list.
var colors = ["red", "green", "blue", "orange", "pink"];
print(colors.sublist(1, 3)); // [green, blue]
If end
is omitted, it defaults to the length of this list.
print(colors.sublist(1)); // [green, blue, orange, pink]
The start
and end
positions must satisfy the relations
0 ≤ start
≤ end
≤ length
If end
is equal to start
, then the returned list is empty.
Implementation
List<E> sublist(int start, [int? end]) {
int listLength = this.length;
end ??= listLength;
if (end == null) throw "!"; // TODO(38493): The `??=` should promote.
RangeError.checkValidRange(start, end, listLength);
return List.from(getRange(start, end));
}