セットをいじらずにリストから重複を削除するにはどうすればいいですか? list.distinct() のようなものはありますか? または list.unique() はありますか?
void main() {
print("Hello, World!");
List<String> list = ['abc',"abc",'def'];
list.forEach((f) => print("this is list $f"));
Set<String> set = new Set<String>.from(list);
print("this is #0 ${list[0]}");
set.forEach((f) => print("set: $f"));
List<String> l2= new List<String>.from(set);
l2.forEach((f) => print("This is new $f"));
}
Hello, World!
this is list abc
this is list abc
this is list def
this is #0 abc
set: abc
set: def
This is new abc
This is new def
セットかなり速くなったようです!! しかし、アイテムの順序が失われます :/
ベストアンサー1
使用しtoSet
てからtoList
var ids = [1, 4, 4, 4, 5, 6, 6];
var distinctIds = ids.toSet().toList();
結果: [1, 4, 5, 6]
またはスプレッド演算子を使用する場合:
var distinctIds = [...{...ids}];