sublist方法

List<E> sublist(
  1. int start,
  2. [int? end]
)
override

返回一个新的列表,包含从startend之间的元素。

这个新列表是一个List<E>,包含在这个列表中位置大于或等于start且小于end的元素,顺序和它们在这个列表中出现的顺序相同。

final colors = <String>['red', 'green', 'blue', 'orange', 'pink'];
print(colors.sublist(1, 3)); // [green, blue]

如果省略了end,则默认为这个列表的length

final colors = <String>['red', 'green', 'blue', 'orange', 'pink'];
print(colors.sublist(3)); // [orange, pink]

startend的位置必须满足关系 0 ≤ startendlength。如果end等于start,则返回的列表为空。

实现

List<E> sublist(int start, [int? end]) {
  int listLength = this.length;
  end ??= listLength;

  RangeError.checkValidRange(start, end, listLength);
  return List.from(getRange(start, end));
}