以下の例では、最終的にlist2に追加したlist1が消えてしまうようです。
sample.dart
List data1 = [なんらかのリスト];
List<クラス1> list1 = [];
List<クラス2> list2 = []; //クラス1を引数とするコンストラクタを持つ
for (var i = 0; i < data1.length; i++) {
list1.clear(); //ループごとに初期化
if(data1[i]==なんらかの条件) {
list1.add(データ);
}
list2.add(クラス2(list1));
}
これを防ぐには、リストの初期化部分で
.clearメソッドではなく[]で空白リストを代入するようにします。
sample.dart
List data1 = [なんらかのリスト];
List<クラス1> list1 = [];
List<クラス2> list2 = []; //クラス1を引数とするコンストラクタを持つ
for (var i = 0; i < data1.length; i++) {
list1 = []; //ループごとに初期化
if(data1[i]==なんらかの条件) {
list1.add(データ);
}
list2.add(クラス2(list1));
}