【Flutter/Dart】for文でループ処理|for-in/forEach文との違い

Dartのループ処理「for文」の使い方を紹介します。

for文は指定した条件が真の間、ループ処理を実行し続けます。

\ 世界最大級のオンライン学習サービス /

目次

for文の使い方

for (初期化式; 条件式; 変化式) {
  //条件が真の場合に実行する処理
}
for (var i = 0; i < 3; i++) {
  print(i);
}

//結果
//0
//1
//2

for文では条件式が真の間処理を実行し、偽になったらループ処理を終了します。

初期化式条件式で使用する変数の初期値
条件式ループ処理の繰り返し条件
変化式初期値の増減式

for-in文の使い方

for (var 変数 in 配列) {
  //配列の要素を順に変数で取得し処理を実行
}
var list = ['A', 'B', 'C'];
for (var value in list) {
  print(value);
}

//結果
//A
//B
//C

for-in文はListなどの配列の値を順に取得しループ処理を行います。

上記コードではList型の配列の要素を順に取得しループ処理を行なっています。

Set型の場合

var set = {'A', 'B', 'C'};
for (var value in set) {
  print(value);
}

//結果
//A
//B
//C

SetはListと同様に扱います。

Map型の場合

var map = {
  1: 'A',
  2: 'B',
  3: 'C',
};

for (var value in map.keys) {
  print(value);
}

//結果
//1
//2
//3

Mapでfor-in文を使用する場合「キー」と「値」いずれかしかループ処理できません。キーのループ処理を行う場合はkeysでキーの配列を取得し、値のループ処理する場合はvaluesメソッドを使用します。

「キー」と「値」の両方を取得してループ処理を行いたい場合は次のforEach文を使います。

forEach文の使い方

配列名.forEach((変数) {
  //配列の要素を順に変数で取得し処理を実行
});
var list = ['A', 'B', 'C'];
list.forEach((value) {
  print(value);
});

//結果
//A
//B
//C

forEach文はListやMapなどの配列のメソッドです。

上記コードではList型の配列の要素を順に取得しループ処理を行なっています。

Set型の場合

var set = {'A', 'B', 'C'};
set.forEach((value) {
  print(value);
});

//結果
//A
//B
//C

SetはListと同様に扱います。

Map型の場合

var map = {
  1: 'A',
  2: 'B',
  3: 'C',
};

map.forEach((key, value) {
  print('キー:$key, 値:$value');
});

//結果
//キー:1, 値:A
//キー:2, 値:B
//キー:3, 値:C

MapではforEach文の第一引数に「キー」、第二引数には「値」となる変数を渡します。

一緒に読みたい

参考

  • URLをコピーしました!
目次