Dart リスト(配列)の全ての要素を同じ値で指定した数だけ生成する
Dartで、リスト(配列)の全ての要素を同じ値で指定した数だけ生成するコードを記述してます。「filled」を使用します。「growable」を「true」に指定しない場合は固定長の配列が生成されます。
環境
- OS windows11 home
- Dart 2.18.4
全ての要素を同じ値で指定
全ての要素を同じ値で指定するには「 filled 」を使用します。
リスト.filled(生成する数,値,[growable: true or false] )
※growableはデフォルトはfalseで、固定長の配列が生成されます。trueにすると可変な配列になります。
実際に、使用して生成してみます。
void main() {
var list = List<int>.filled(3, 7);
print(list); // [7, 7, 7]
}
実行結果を見ると、7が3つ生成されていることが確認できます。
「growable」はデフォルトは「false」になっており、固定長のリストが生成され値を追加するとエラーとなります。
void main() {
var list = List<int>.filled(3, 7);
print(list); // [7, 7, 7]
list.add(7);
print(list);
}
Unhandled exception:
Unsupported operation: Cannot add to a fixed-length list
#0 FixedLengthListMixin.add (dart:_internal/list.dart:21:5)
#1 main (file:///c:/sample/main.dart:6:8)
#2 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
編集は可能です。
void main() {
var list = List.filled(3, 7);
print(list); // [7, 7, 7]
list[0] = 8;
print(list); // [8, 7, 7]
}
また、「true」を指定すると値の追加は可能です。
void main() {
var list = List<int>.filled(3, 7, growable: true);
print(list); // [7, 7, 7]
list.add(7);
print(list); // [7, 7, 7, 7]
}
-
前の記事
redmine LDAPで新規ユーザーがログインできない場合の対処法 2022.11.12
-
次の記事
EXCEL セルの選択範囲内で一番上のデータや書式を一括で適応するショートカットキー 2022.11.12
コメントを書く