Flutter list 数组排序
以使用Dart的 sort()
方法对Flutter中的List进行升序或降序排序。
sort()方法需要传递一个比较函数来指定如何对对象进行比较,并按照您指定的顺序进行排序。
以下是一个示例,假设有一个包含整数的列表,可以按照整数值进行排序:
List<int> numbers = [1, 3, 2, 5, 4];
// 升序排序
numbers.sort((a, b) => a.compareTo(b));
print(numbers); // 输出:[1, 2, 3, 4, 5]
// 降序排序
numbers.sort((a, b) => b.compareTo(a));
print(numbers); // 输出:[5, 4, 3, 2, 1]
在上述代码中,我们使用了sort()方法将数字列表按照升序和降序进行了排序。
在比较函数中,我们使用了 compareTo()
方法来比较两个数字对象。
如果想按照其他字段进行排序,只需将比较函数中的a和b替换为您想要排序的字段即可。
以下是示例代码,假设您有一个包含Person对象的列表,可以按照Person的年龄字段进行排序:
class Person {
String name;
int age;
Person({this.name, this.age});
}
List<Person> persons = [
Person(name: "John", age: 30),
Person(name: "Jane", age: 20),
Person(name: "Bob", age: 25),
];
// 按照年龄字段进行排序
persons.sort((a, b) => a.age.compareTo(b.age));
// 输出排序后的列表
print(persons);
在上述代码中,我们使用了sort()函数将Person对象列表按照年龄字段进行排序。
在该示例中,我们使用了compareTo()函数来比较Person对象的年龄字段,并按照升序排序。
作者:早起的年轻人
链接:https://juejin.cn/post/7230420475494137913
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://juejin.cn/post/7230420475494137913
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。