Spec-Zone.ru › Dart 2

dart:collection

Конструктор SplayTreeSet<E>.from

SplayTreeSet<E>.from(
  1. Iterable элементы,
  2. [int сравнение(
    1. E ключ1,
    2. E ключ2
    )?,
  3. bool являетсяКлючом(
    1. dynamic потенциальныйКлюч
    )?]
)

Создает SplayTreeSet, содержащий все elements.

Множество работает так, как если бы оно было создано SplayTreeSet<E>(compare, isValidKey).

Все elements должны быть экземплярами E и допустимыми аргументами для compare. Итерируемый elements сам по себе может иметь любой тип элементов, поэтому этот конструктор может использоваться для приведения типа итерируемого Set, например так:

Set<SuperType> superSet = ...;
Set<SubType> subSet =
    SplayTreeSet<SubType>.from(superSet.whereType<SubType>());

Пример:

final numbers = <num>[20, 30, 10];
final setFrom = SplayTreeSet<int>.from(numbers);
print(setFrom); // {10, 20, 30}

Реализация

factory SplayTreeSet.from(Iterable elements,
    [int Function(E key1, E key2)? compare,
    bool Function(dynamic potentialKey)? isValidKey]) {
  if (elements is Iterable<E>) {
    return SplayTreeSet<E>.of(elements, compare, isValidKey);
  }
  SplayTreeSet<E> result = SplayTreeSet<E>(compare, isValidKey);
  for (var element in elements) {
    result.add(element as dynamic);
  }
  return result;
}

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

Spec-Zone.ru

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