getRange method
override
Returns an Iterable that iterates over the objects in the range
start
inclusive to end
exclusive.
The provided range, given by start
and end
, must be valid at the time
of the call.
A range from start
to end
is valid if 0 <= start <= end <= len
, where
len
is this list's length
. The range starts at start
and has length
end - start
. An empty range (with end == start
) is valid.
The returned Iterable behaves like skip(start).take(end - start)
.
That is, it does not throw if this list changes size.
List<String> colors = ['red', 'green', 'blue', 'orange', 'pink'];
Iterable<String> range = colors.getRange(1, 4);
range.join(', '); // 'green, blue, orange'
colors.length = 3;
range.join(', '); // 'green, blue'
Implementation
Iterable<E> getRange(int start, int end) {
RangeError.checkValidRange(start, end, this.length);
return new SubListIterable<E>(this, start, end);
}