Flutter(Dart)でListの内容をMapに変換する方法

2024年6月19日水曜日

Flutter

t f B! P L

はじめに

Dart言語は、Flutterアプリ開発で広く利用されているプログラミング言語です。この記事では、リストのデータをキーと値のMap型に変換する方法を紹介します。

Listの内容をMapに変換するコード

クラスの定義

まず、Dartでクラスを定義します。ここではItemクラスを例に取り、それぞれのインスタンスがidnameの2つのプロパティを持つようにします。

class Item {
  int id;
  String name;

  Item(this.id, this.name);
}

リストからマップへの変換

次に、Itemオブジェクトのリストを作成し、このリストをIDをキーとするマップに変換します。

void main() {
  List<Item> items = [
    Item(1, 'Apple'),
    Item(2, 'Banana'),
    Item(3, 'Cherry')
  ];

  Map<int, String> itemMap = { for (var item in items) item.id: item.name };

  print(itemMap);  // 出力: {1: 'Apple', 2: 'Banana', 3: 'Cherry'}
}

ここでは、リストの各要素に対して、forループをマップリテラル内で使用しています。この方法を「コレクション if および for」と呼び、Dart 2.3で導入された機能です。リストの各要素から新しいマップエントリを生成し、idをキーとして、nameを値としてマップに追加しています。

まとめ

この記事では、Dartでリストのデータをマップに効率的に変換する方法を紹介しました。Dartのコレクションリテラルを利用することで、コードを簡潔に保ちながら、データ構造間での変換を柔軟に行うことができます。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ