Set< E> class
Коллекция объектов, в которой каждый объект может встречаться только один раз.
То есть для каждого объекта типа элемента считается, что он либо входит в множество, либо не входит в него.
Реализации Set могут считать некоторые элементы неразличимыми. При любых операциях над множеством такие элементы рассматриваются как одинаковые.
Реализация Set по умолчанию, LinkedHashSet, считает объекты неразличимыми, если они равны согласно Object.== и Object.hashCode.
Перебор элементов множества может быть неупорядоченным или выполняться в определенном порядке. Например:
- HashSet неупорядочен: порядок его перебора не определен,
- LinkedHashSet перебирает элементы в порядке их добавления, а
- отсортированное множество, например SplayTreeSet, перебирает элементы в отсортированном порядке.
Как правило, во время выполнения операции над множеством нельзя изменять его (добавлять или удалять элементы), например во время вызова forEach или containsAll. Также нельзя изменять множество во время перебора самого множества или любого Iterable, основанного на этом множестве, например объектов, возвращаемых такими методами, как where и map.
Как правило, пока элементы находятся в множестве, нельзя изменять их равенство (а значит, и их хеш-код). Некоторые специализированные подтипы могут допускать это; в таком случае они должны документировать такое поведение.
- Наследование
- Реализуют
- Доступные расширения
Конструкторы
- Set() фабричный
- Создает пустое Set.
- Set.from(Iterable elements) фабричный
- Создает Set, содержащий все
elements. - Set.identity() фабричный
- Создает пустое идентификационное Set.
- Set.of(Iterable<
E> elements) фабричный - Создает Set из
elements. - Set.unmodifiable(Iterable<
E> elements) фабричный - Создает неизменяемое Set из
elements.
Свойства
- first → E только для чтенияунаследовано
- Возвращает первый элемент.
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- isEmpty → bool только для чтенияунаследовано
- Показывает, что коллекция не содержит элементов.
- isNotEmpty → bool только для чтенияунаследовано
- Показывает, что коллекция содержит хотя бы один элемент.
- iterator → Iterator<
E> только для чтенияпереопределение - Итератор, перебирающий элементы этого множества.
- last → E только для чтенияунаследовано
- Возвращает последний элемент.
- length → int только для чтенияунаследовано
- Возвращает количество элементов в этом.
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
- single → E только для чтенияунаследовано
- Проверяет, что этот итерируемый объект содержит только один элемент, и возвращает его.
Методы
- add(
E value) → bool - Добавляет
valueв множество. - addAll(
Iterable< E> elements) → void - Добавляет все
elementsв это множество. - any(
bool test(E element)) → bool унаследовано - Проверяет, удовлетворяет ли какой-либо элемент этого итерируемого объекта
test. - cast<
R>( ) → Set< R> переопределение - Предоставляет представление этого множества как множества экземпляров
R. - clear(
) → void - Удаляет из множества все элементы.
- contains(
Object? value) → bool переопределение - Показывает, находится ли
valueв множестве. - containsAll(
Iterable< Object?> other) → bool - Показывает, содержит ли это множество все элементы
other. - difference(
Set< Object?> other) → Set< E> - Создает новое множество с элементами этого множества, которых нет в
other. - elementAt(
int index) → E унаследовано - Возвращает элемент с номером
index. - every(
bool test(E element)) → bool унаследовано - Проверяет, удовлетворяет ли каждый элемент этого итерируемого объекта
test. - expand<
T>( Iterable< T> toElements(E element)) → Iterable< T> унаследовано - Преобразует каждый элемент этого Iterable в ноль или более элементов.
- firstWhere(
bool test(E element), {E orElse()?}) → E унаследовано - Возвращает первый элемент, удовлетворяющий заданному предикату
test. - fold<
T>( T initialValue, T combine(T previousValue, E element)) → T унаследовано - Сводит коллекцию к одному значению, последовательно объединяя каждый ее элемент с существующим значением
- followedBy(
Iterable< E> other) → Iterable< E> унаследовано - Возвращает ленивую конкатенацию этого итерируемого объекта и
other. - forEach(
void action(E element)) → void унаследовано - Вызывает
actionдля каждого элемента этого итерируемого объекта в порядке перебора. - intersection(
Set< Object?> other) → Set< E> - Создает новое множество, являющееся пересечением этого множества и
other. - join(
[String separator = ""]) → String унаследовано - Преобразует каждый элемент в String и объединяет полученные строки.
- lastWhere(
bool test(E element), {E orElse()?}) → E унаследовано - Возвращает последний элемент, удовлетворяющий заданному предикату
test. - lookup(
Object? object) → E? - Если в множестве есть объект, равный
object, возвращает его. - map<
T>( T toElement(E e)) → Iterable< T> унаследовано - Текущие элементы этого итерируемого объекта, преобразованные с помощью
toElement. - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- reduce(
E combine(E value, E element)) → E унаследовано - Сводит коллекцию к одному значению, последовательно объединяя ее элементы с помощью предоставленной функции.
- remove(
Object? value) → bool - Удаляет
valueиз множества. - removeAll(
Iterable< Object?> elements) → void - Удаляет из этого множества каждый элемент
elements. - removeWhere(
bool test(E element)) → void - Удаляет из этого множества все элементы, удовлетворяющие
test. - retainAll(
Iterable< Object?> elements) → void - Удаляет из этого множества все элементы, которых нет в
elements. - retainWhere(
bool test(E element)) → void - Удаляет из этого множества все элементы, не удовлетворяющие
test. - singleWhere(
bool test(E element), {E orElse()?}) → E унаследовано - Возвращает единственный элемент, удовлетворяющий
test. - skip(
int count) → Iterable< E> унаследовано - Возвращает Iterable, содержащий все элементы, кроме первых
count. - skipWhile(
bool test(E value)) → Iterable< E> унаследовано - Возвращает
Iterable, пропускающий начальные элементы, пока выполняется условиеtest. - take(
int count) → Iterable< E> унаследовано - Возвращает ленивый итерируемый объект, содержащий первые
countэлементов этого итерируемого объекта. - takeWhile(
bool test(E value)) → Iterable< E> унаследовано - Возвращает ленивый итерируемый объект, содержащий начальные элементы, удовлетворяющие
test. - toList(
{bool growable = true}) → List< E> унаследовано - Создает List, содержащий элементы этого Iterable.
- toSet(
) → Set< E> переопределение - Создает Set с теми же элементами и поведением, что и у этого
Set. - toString(
) → String унаследовано - Возвращает строковое представление некоторых элементов
this. - union(
Set< E> other) → Set< E> - Создает новое множество, содержащее все элементы этого множества и
other. - where(
bool test(E element)) → Iterable< E> унаследовано - Возвращает новый ленивый Iterable со всеми элементами, удовлетворяющими предикату
test. - whereType<
T>( ) → Iterable< T> унаследовано - Возвращает новый ленивый Iterable со всеми элементами типа
T.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
Статические методы
- castFrom<
S, T>( Set< S> source, {Set< R> newSet()?}) → Set< T> переопределение - Адаптирует
source, чтобы он сталSet<T>.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Set-class.html