Flutter 如何对集合进行排序<;字符串>;按字母顺序排列的飞镖/颤振?
我知道有Flutter 如何对集合进行排序<;字符串>;按字母顺序排列的飞镖/颤振?,flutter,dart,set,Flutter,Dart,Set,我知道有列表,但我需要使用集合。有没有办法按字母顺序排序 Set reasons = { 'Peter', 'John', 'James', 'Luke', } 可以将集合转换为列表并调用排序方法。然后,您可以再次将该列表转换为集合。您还可以在集合上创建一个方便的扩展方法,该方法也可以执行相同的操作 设置原因={ “彼得”, “约翰”, “詹姆斯”, “卢克”, }; 最终原因列表=reasons.toList(); reasonsList.sort(); 打印(reasons
列表
,但我需要使用集合
。有没有办法按字母顺序排序
Set reasons = {
'Peter',
'John',
'James',
'Luke',
}
可以将集合转换为列表并调用排序方法。然后,您可以再次将该列表转换为集合。您还可以在集合上创建一个方便的扩展方法,该方法也可以执行相同的操作
设置原因={
“彼得”,
“约翰”,
“詹姆斯”,
“卢克”,
};
最终原因列表=reasons.toList();
reasonsList.sort();
打印(reasonsList.toSet());
您可以将集合转换为列表并调用排序方法。然后,您可以再次将该列表转换为集合。您还可以在集合上创建一个方便的扩展方法,该方法也可以执行相同的操作
设置原因={
“彼得”,
“约翰”,
“詹姆斯”,
“卢克”,
};
最终原因列表=reasons.toList();
reasonsList.sort();
打印(reasonsList.toSet());
改用a:
导入“dart:collection”;
...
最终分拣集=SplayTreeSet.from(
{'Peter','John','James','Luke'},
//此处不需要比较函数,但出于演示目的显示
(a,b)=>a.与(b)相比,
);
打印(分类数据集);
//印刷品:{詹姆斯,约翰,卢克,彼得}
正如jamesdlin指出的那样,如果类型实现了Comparable
则不需要比较函数,而是使用:
导入“dart:collection”;
...
最终分拣集=SplayTreeSet.from(
{'Peter','John','James','Luke'},
//此处不需要比较函数,但出于演示目的显示
(a,b)=>a.与(b)相比,
);
打印(分类数据集);
//印刷品:{詹姆斯,约翰,卢克,彼得}
正如jamesdlin指出的那样,如果类型实现了
Comparable
,则比较函数是不必要的。请注意,尽管这里的示例显式地传递了一个比较回调(我假设这是为了演示的目的),但是如果元素已经是Comparable
(其中String
s是)。请注意,尽管这里的示例显式地传递了一个比较回调(我假设这是为了演示的目的),但是如果元素已经是可比较的
(其中String
s是)。