sort 方法

void sort(
  1. [int compare(
    1. E a,
    2. E b
    )?]
)
override

根据 `compare` 函数指定的顺序排序此列表。

`compare` 函数必须执行 Comparator

final numbers = <String>['two', 'three', 'four'];
// Sort from shortest to longest.
numbers.sort((a, b) => a.length.compareTo(b.length));
print(numbers); // [two, four, three]

默认的 List 实现如果在 `compare` 中省略,将使用 Comparable.compare

final numbers = <int>[13, 2, -11, 0];
numbers.sort();
print(numbers); // [-11, 0, 2, 13]

在这种情况下,列表中的元素必须是可以相互比较的 Comparable

Comparator 可以将对象视为相等(返回零),即使它们是不同的对象。排序函数不一定保证是稳定的,因此被视为相等的不同对象可能以任何顺序出现在结果中

final numbers = <String>['one', 'two', 'three', 'four'];
numbers.sort((a, b) => a.length.compareTo(b.length));
print(numbers); // [one, two, four, three] OR [two, one, four, three]

实现

external void sort([int compare(E a, E b)?]);