【2024年4月】弊社では、基本リモートワークで一緒に成長してくださるメンバーを広く募集させていただいております。 詳細はこちら

【Flutter】配列の基本から応用までの完全ガイド!

【Flutter】配列の基本から応用までの完全ガイド!
いちの

こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです

この記事を読んでわかること

  • FlutterのList型とMap型の基本的な使い方
  • List型とMap型でよく使用されるメソッド(forEach(), map(), contains(), sort(), every())の具体的な使用例

開発環境

  • Dart 3.0.0
  • Flutter 3.10.0
目次

List型とは

概要

Flutterでは、List型は配列やコレクションの操作に頻繁に使用されます。List型は、同じ型のデータを順序付けて格納するためのコレクションです。Flutter 3でのListの基本的な宣言と使用方法を見てみましょう。

サンプルコード

void main() {
  List<String> fruits = ['Apple', 'Banana', 'Cherry'];
  print(fruits);
}

サンプルコードの解説

  • 1行目: main関数を定義します。Flutterアプリのエントリーポイントです。
  • 2行目: 文字列型のListを宣言し、初期値として3つのフルーツを格納します。
  • 3行目: 格納されたフルーツのリストをコンソールに出力します。

Map型とは

概要

Map型は、キーと値のペアでデータを格納するコレクションです。Flutterでは、JSONデータの操作や設定情報の格納など、様々な場面でMap型が活用されます。ここでは、Flutter 3でのMapの基本的な使い方を紹介します。

サンプルコード

void main() {
  Map<String, int> priceOfFruits = {
    'Apple': 200,
    'Banana': 100,
    'Cherry': 300,
  };
  print(priceOfFruits);
}

サンプルコードの解説

  • 1行目: main関数を定義します。
  • 2-6行目: 文字列をキーとし、整数を値とするMapを宣言し、3つのフルーツとそれぞれの価格を格納します。
  • 7行目: 格納されたフルーツの価格Mapをコンソールに出力します。

配列操作の基本

forEach()

概要

forEach()メソッドを使用すると、ListやMapに格納された各要素に対して指定した関数を一度ずつ適用させることができます。次のサンプルコードでは、Listに格納されたフルーツの名前を一つずつコンソールに出力します。

サンプルコード
void main() {
  List<String> fruits = ['Apple', 'Banana', 'Cherry'];
  fruits.forEach((fruit) {
    print(fruit);
  });
}
サンプルコードの解説
  • 2行目: 文字列型のListを宣言します。
  • 3-5行目: forEach()メソッドを使用して、List内の各フルーツに対してprint関数を実行します。これにより、各フルーツの名前がコンソールに出力されます。

map()

概要

map()メソッドを使用すると、コレクション内の各要素に関数を適用し、その結果からなる新しいコレクションを作成することができます。以下のサンプルでは、各フルーツの名前を大文字に変換します。

サンプルコード
void main() {
  List<String> fruits = ['Apple', 'Banana', 'Cherry'];
  var upperCaseFruits = fruits.map((fruit) => fruit.toUpperCase()).toList();
  print(upperCaseFruits);
}
サンプルコードの解説
  • 2行目: 元のフルーツのListを宣言します。
  • 3行目: map()メソッドを使用して、各フルーツの名前を大文字に変換し、新しいListを作成します。
  • 4行目: 新しいListをコンソールに出力します。このListには、元のフルーツの名前が全て大文字に変換されています。

contains()

概要

contains()メソッドを使用すると、コレクションが特定の要素を含んでいるかどうかを確認することができます。以下のサンプルでは、List内に特定のフルーツが含まれているかをチェックします。

サンプルコード
void main() {
  List<String> fruits = ['Apple', 'Banana', 'Cherry'];
  bool hasApple = fruits.contains('Apple');
  print('Contains Apple: $hasApple');
}
サンプルコードの解説
  • 2行目: フルーツのListを宣言します。
  • 3行目: contains()メソッドを使用して、List内に’Apple’が含まれているかを確認します。
  • 4行目: 結果をコンソールに出力します。この場合、’Apple’がListに含まれているため、trueが出力されます。

sort()

概要

sort()メソッドを使用すると、List内の要素を指定した条件に従ってソートすることができます。以下のサンプルでは、フルーツの名前をアルファベット順にソートします。

サンプルコード
void main() {
  List<String> fruits = ['Cherry', 'Banana', 'Apple'];
  fruits.sort();
  print(fruits);
}
サンプルコードの解説
  • 2行目: アルファベット順にはなっていないフルーツのListを宣言します。
  • 3行目: sort()メソッドを使用して、フルーツの名前をアルファベット順にソートします。
  • 4行目: ソートされたListをコンソールに出力します。この場合、’Apple’, ‘Banana’, ‘Cherry’の順番で出力されます。

every()

概要

every()メソッドを使用すると、コレクション内の全ての要素が指定した条件を満たしているかどうかを確認することができます。以下のサンプルでは、全てのフルーツの名前が5文字以上であるかをチェックします。

サンプルコード
void main() {
  List<String> fruits = ['Apple', 'Banana', 'Cherry'];
  bool allHaveFiveLetters = fruits.every((fruit) => fruit.length >= 5);
  print('All have five or more letters: $allHaveFiveLetters');
}
サンプルコードの解説
  • 2行目: フルーツのListを宣言します。
  • 3行目: every()メソッドを使用して、全てのフルーツの名前が5文字以上であるかを確認します。
  • 4行目: 結果をコンソールに出力します。この場合、全てのフルーツの名前が5文字以上であるため、trueが出力されます。

まとめ

いかがでしたでしょうか?今回は、配列の基本から応用に至るまで、サンプルコードを用いて解説してみました。読者様の開発の手助けに少しでもなればいいなと思いこの記事を書かせていただいております。弊社ではAndroid、iOS、Flutterを使ったアプリ開発についてのブログを多数投稿させていただいておりますので、ご興味のある方はぜひ!

いちの

自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
をオススメします。

動的リストにご興味のある読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次