Spec-Zone.ru › Dart 2

dart:core

Метод sort

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

Сортирует этот список в соответствии с порядком, заданным функцией 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 друг для друга.

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]

Реализация

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

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

Spec-Zone.ru

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