我在网上找到了这样的解决方案:
import 'package:queries/collections.dart';
void main() {
List<String> list = ["a", "a", "b", "c", "b", "d"];
var result = new Collection(list).distinct();
print(result.toList());
}
但是,我不知道如何转换 var result
返回List<Widget>
.
最佳答案
有一种方法更简单,不需要任何额外的导入。
您可以转换您的 List
到 Set
它本质上只包含distinct 元素,然后转换Set
回到List
.
如果您使用的是 Dart 2.3 或更高版本 ( environment: sdk: ">=2.3.0 <3.0.0"
),您可以使用以下惯用版本:
List<String> list = ['a', 'a', 'b', 'c', 'b', 'd'];
List result = [...{...list}];
...
可迭代的传播运算符是 just introduced with Dart 2.3 .
否则,您可以使用旧语法:
List<String> list = ["a", "a", "b", "c", "b", "d"];
List result = list.toSet().toList();
关于flutter - 如何获得不同的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56398315/