elementAt method
Returns the indexth element.
The index must be non-negative and less than length.
Index zero represents the first element (so iterable.elementAt(0) is
equivalent to iterable.first).
May iterate through the elements in iteration order, ignoring the
first index elements and then returning the next.
Some iterables may have a more efficient way to find the element.
Example:
final numbers = <int>[1, 2, 3, 5, 6, 7];
final elementAt = numbers.elementAt(4); // 6
Implementation
@override
Component elementAt(int index) {
RangeError.checkNotNegative(index, 'index');
final elements = _elements;
if (_tombstones == 0) {
if (index >= elements.length) {
throw IndexError.withLength(index, _length, indexable: this);
}
return elements[index]!;
}
var live = 0;
for (final element in elements) {
if (element != null && live++ == index) {
return element;
}
}
throw IndexError.withLength(index, _length, indexable: this);
}