Dart の List を反復処理しながら ConcurrentModificationError を出さずに要素を削除する方法
for-in ループや forEach の中で remove を呼ぶと ConcurrentModificationError がスローされます。その場でフィルタリングするなら removeWhere、新しいリストを作るなら where か collection-for、インデックスで回すなら逆順のループを使います。Dart 3.13.7 で検証し、ループ内の removeAt が遅い理由をベンチマークで示します。