エンジニアのブログ

Dartのfor文の書き方、List、Map

プログラミング

Dartのfor文をList(リスト、配列)とMap(マップ、連想配列)に分けて書いていきます。

Listのfor文

書き方は大きく3パターンあります。

① 通常

List list = ['a', 'b', 'c', 'd'];
for (int i = 0; i < list.length; i++) {
  print(list[i]);
}

② 拡張for文

List list = ['a', 'b', 'c', 'd'];
for (var item in list) {
  print(item);
}

 拡張for文でindexも同時に取得(indexed)

List list = ['a', 'b', 'c', 'd'];
for (var (index, item) in list.indexed) {
  print("$index $item");
}

③ foreach文

List list = ['a', 'b', 'c', 'd'];
list.forEach((item) {
  print(item);
});

// 省略して下記のようにも書ける。
list.forEach((item) => print(item));

// さらに省略することもできる。
list.forEach(print);

Mapのfor文

① 拡張for文(keyを取得)
map.keysでキーのリストにして拡張for文で取得します。

Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
for (var key in map.keys) {
  print('$key : ${map[key]}');
}

② 拡張for文(valueを取得)
map.valuesで値のリストにして拡張for文で取得します。

Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
for (var value in map.values) {
  print('$value');
}

③ foreach文(keyとvalueを取得)
Listと違ってMapではキーと値の2つをセットする必要があります。

Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
map.forEach((var key, var value) {
  print('$key : $value');
});

DardPadで試す。

コメント