Dart Setに条件を指定して一致した値に処理を実行する

Dart Setに条件を指定して一致した値に処理を実行する

Dartで、Setに条件を指定して一致した値に処理を実行するコードを記述してます。「where」で条件を指定してから「map」を使用することで可能です。

環境

  • OS windows11 home
  • Dart 2.18.4

条件を指定して一致した値に処理を実行する

条件を指定して一致した値に処理を実行するには
1. 「where」で条件を指定
2. 「map」でそれぞれの値に処理を実行(戻り値はIterable)
3. 「toSet」で「set」に変換
で可能です。

セット.where(条件).map(処理).toSet()

実際に、使用して「20以上の値」に対してだけ、数値を2倍にしてみます。

void main() {
  var set1 = {11, 22, 33};

  var set2 = set1.where((v) => 20 < v).map((v) => v * 2).toSet();

  print(set2); // {44, 66}
  print(set1); // {11, 22, 33}
}

実行結果を見ると、適応されていることが確認できます。