List<E> class
Constructors
List([int length ])
与えられた長さのリストを作る。
・List.filled(int length, E fill, { bool growable: false })
Example:
new List<int>.filled(3, 0, growable: true); // [0, 0, 0]
growableがfalse(既定値)の場合、作成されたリストは固定長で、growableがtrueの場合、growableです。リストが大きくなって、その長さを変更しても新しいエントリはfillで初期化されません。リストが作成されていっぱいになった後、リストは、Listを使用して作成された他の拡張可能なリストまたは固定長のリストと変わりません。
返されたリストのすべての要素は同じfill値を共有します。
code:shared.dart
var shared = new List.filled(3, []);
print(shared); // => 499], 499, [499 List.generateを使用すると、各位置に新しいオブジェクトを含むリストを作成できます。
code:unique.dart
var unique = new List.generate(3, (_) => []);
print(unique); // => 499], [], [
・List.from(Iterable elements, { bool growable: true })
与えられたすべての要素を含むリストを生成します。
code:down_cast.dart
List<SuperType> superList = ...;
List<SubType> subList =
new List<SubType>.from(superList.whereType<SubType>());
・List.generate(int length, E generator(int index), { bool growable: true })
値の一覧を生成します。 長さ位置を指定してリストを作成し、0から長さ-1の範囲の各インデックスに対してgeneratorを呼び出して作成した値を昇順で埋めます。
new List<int>.generate(3, (int index) => index * index); // [0, 1, 4]
これは、下のコードと同じ動作をする。
code: generate.dart
List<int> li = [];
for(var index = 0; index<3; index++) {
li.add(index * index);
}
・List.of(Iterable<E> elements, { bool growable: true })
List.fromとの違いがわからん。調査中
code:of_implenentation.dart
factory List.of(Iterable<E> elements, {bool growable = true}) =>
List<E>.from(elements, growable: growable);
実装的には同じ?