toList 方法

List<E> toList(
  1. {bool growable = true}
)

创建一个包含此 Iterable 元素的 List

元素按迭代顺序排列。如果 growable 为 false,则列表为固定长度。

示例

final planets = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Mars'};
final keysList = planets.keys.toList(growable: false); // [1, 2, 3]
final valuesList =
    planets.values.toList(growable: false); // [Mercury, Venus, Mars]

实现

List<E> toList({bool growable = true}) {
  int mask = _table.length - 1;
  int length = (_tail - _head) & mask;
  if (length == 0) return List<E>.empty(growable: growable);

  var list = List<E>.filled(length, first, growable: growable);
  for (int i = 0; i < length; i++) {
    list[i] = _table[(_head + i) & mask] as E;
  }
  return list;
}