Spec-Zone.ru › Dart 2

dart:html

Метод 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 используют Comparable.compare, если compare опущено.

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

В этом случае элементы списка должны быть Comparable друг к другу.

Функция сравнения может считать объекты равными (возвращать ноль), даже если они являются различными объектами. Функция сортировки не гарантирует стабильности, поэтому различные объекты, которые сравниваются как равные, могут появиться в любом порядке в результате:

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]

Реализация

void sort([int compare(E a, E b)?]) {
  throw new UnsupportedError("Cannot sort immutable List.");
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/ImmutableListMixin/sort.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API