📅  最后修改于: 2023-12-03 15:00:20.306000             🧑  作者: Mango
在 Dart 中,对列表进行排序有两种方法:按值排序和按顺序排序。本文将介绍如何按值对 Dart 列表进行排序。
在开始排序之前,需要先创建一个列表并向其中添加一些元素。下面是一个示例:
List<int> numbers = [5, 2, 8, 1, 9, 0, 3];
Dart 提供了 sort()
方法用于按值排序列表。该方法没有返回值,它直接修改原始列表。可以向 sort()
方法传递一个函数用于比较列表中的两个元素。比较函数应该接受两个参数,并返回一个整数,表示两个参数之间的比较结果。
下面是一个使用 sort()
方法按升序排序的示例:
numbers.sort((a, b) => a.compareTo(b));
这里使用了 Dart 的 compareTo()
方法进行比较。如果元素 a
小于元素 b
,则 compareTo()
方法返回一个负数;如果两个元素相等,则返回 0
;如果元素 a
大于元素 b
,则返回一个正数。
如果要按降序排序,可以将比较方法稍作修改:
numbers.sort((a, b) => b.compareTo(a));
这里将 a
和 b
的顺序交换了一下。
下面是按升序排序和按降序排序的完整代码:
void main() {
List<int> numbers = [5, 2, 8, 1, 9, 0, 3];
// 按升序排序
numbers.sort((a, b) => a.compareTo(b));
print(numbers); // 输出 [0, 1, 2, 3, 5, 8, 9]
// 按降序排序
numbers.sort((a, b) => b.compareTo(a));
print(numbers); // 输出 [9, 8, 5, 3, 2, 1, 0]
}
通过 Dart 的 sort()
方法,我们可以轻松地按值排序列表。如果需要按顺序排序,可以使用内置的排序方法或自己实现算法。