#7 Dartで学ぶ配列(リスト)の基本
Dartでは、複数の値をまとめて扱うデータ構造を「リスト」と呼びます。この記事では、Dartにおけるリストの基本的な使い方と、よく使う操作メソッドを解説します。
リストを作ってみる
var fruits = ["りんご", "みかん", "ぶどう"];
print(fruits.length); // 3
型を明示したい場合はList<String> fruits = [...]のように書くこともできます。
要素にアクセスする
print(fruits[0]); // りんご
値を追加・削除する
fruits.add("メロン");
fruits.remove("みかん");
値を追加するにはadd()、削除するにはremove()を使います。JavaScriptのpush()とは名前が違う点に注意しましょう。複数の値をまとめて追加したい場合はaddAll(["いちご", "もも"])が便利です。
リストの中身を加工する
すべての要素に同じ処理をしたい場合はmap、条件に合う要素だけ残したい場合はwhereが使えます。
var upper = fruits.map((f) => f.toUpperCase()).toList();
var longNames = fruits.where((f) => f.length > 2).toList();
mapやwhereはそのままでは「処理の予約」を持ったオブジェクトを返すため、実際のリストとして使うには最後に.toList()を付ける必要があります。この.toList()忘れは初心者が特につまずきやすいポイントです。
変更できないリストを作る
変数をfinalやconstで宣言すると、そのリストへの再代入(別のリストに入れ替えること)はできなくなりますが、add()のような中身の変更は可能な場合があります。完全に変更を禁止したい場合は、List.unmodifiable()という機能を使います。
final fixedList = List.unmodifiable(["a", "b", "c"]);
// fixedList.add("d"); // 実行時エラーになる
Dartならではの注意点
Dartのリストは、Flutterの画面部品(ウィジェット)を並べる際にも頻繁に登場します。Column(children: [...])のように、ウィジェットのリストをそのまま画面レイアウトに渡す場面が多いため、基本操作をしっかり身につけておくと、Flutterでの画面作りもスムーズに理解できるようになります。
まとめ
Dartのリストはadd()・remove()で操作し、map・whereで柔軟に加工できます(最後の.toList()を忘れずに)。名前の違いに注意しつつ、Flutter開発の土台としてしっかり押さえておきましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿