Класс Set< E>
Совокупность объектов, в которой каждый объект может встречаться только один раз.
То есть, для каждого объекта типа элемента объект либо считается присутствующим в множестве, либо отсутствующим в множестве.
Реализации множеств могут считать некоторые элементы неразличимыми. Эти элементы обрабатываются как одинаковые для любой операции над множеством.
По умолчанию реализация Set, LinkedHashSet, считает объекты неразличимыми, если они равны относительно Object.== и Object.hashCode.
Итерация по элементам множества может быть неупорядоченной или упорядоченной каким-либо способом. Примеры:
- HashSet неупорядочен, что означает, что порядок его итерации не определен,
- LinkedHashSet итерирует в порядке добавления элементов, и
- сортированное множество, например SplayTreeSet, итерирует элементы в отсортированном порядке.
В общем случае не разрешается изменять множество (добавлять или удалять элементы) во время выполнения операции над множеством, например, во время вызова forEach или containsAll. Также не разрешается изменять множество во время итерации по самому множеству или любому Iterable, который поддерживается множеством, например, возвращаемым методами, такими как where и map.
В общем случае не разрешается изменять равенство элементов (и, следовательно, их хэш-код) во время их нахождения в множестве. Некоторые специализированные подтипы могут быть более допускающими, в этом случае они должны документировать это поведение.
- Наследование
- Реализации
- Доступные расширения
Конструкторы
- Set() factory
- Создаёт пустое множество Set.
- Set.from(Iterable elements) factory
- Создаёт множество Set, содержащее все
elements. - Set.identity() factory
- Создаёт пустое идентифицирующее множество Set.
- Set.of(Iterable<
E> elements) factory - Создаёт множество Set из
elements. - Set.unmodifiable(Iterable<
E> elements) factory - Создаёт неизменяемое множество Set из
elements.
Свойства
- first → E только для чтения, унаследованное
- Возвращает первый элемент.
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- isEmpty → bool только для чтения, унаследованное
- Является ли эта коллекция пустой.
- isNotEmpty → bool только для чтения, унаследованное
- Содержит ли эта коллекция хотя бы один элемент.
- iterator → Iterator<
E> только для чтения, переопределено - Итератор, который итерирует по элементам этого множества.
- last → E только для чтения, унаследованное
- Возвращает последний элемент.
- length → int только для чтения, унаследованное
- Возвращает количество элементов в this.
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
- single → E только для чтения, унаследованное
- Проверяет, что в этой итерируемой последовательности только один элемент, и возвращает этот элемент.
Методы
- add(
E значение) → bool - Добавляет
valueв множество. - addAll(
Iterable< E> элементы) → void - Добавляет все
elementsв это множество. - any(
bool проверка(E элемент)) → bool inherited - Проверяет, удовлетворяет ли какой-либо элемент этого итерируемого объекта
test. - cast<
R>( ) → Set< R> override - Предоставляет представление этого множества как множества экземпляров
R. - clear(
) → void - Удаляет все элементы из множества.
- contains(
Объект? значение) → bool override - Присутствует ли
valueв множестве. - containsAll(
Iterable< Объект?> другое) → bool - Содержит ли это множество все элементы
other. - difference(
Set< Объект?> другое) → Set< E> - Создаёт новое множество с элементами этого множества, которые не входят в
other. - elementAt(
int индекс) → E inherited - Возвращает элемент с
indexиндексом. - every(
bool проверка(E элемент)) → bool inherited - Проверяет, удовлетворяют ли все элементы этого итерируемого объекта
test. - expand<
T>( Iterable< T> элементы(E элемент)) → Iterable< T> inherited - Расширяет каждый элемент этого Iterable на ноль или более элементов.
- firstWhere(
bool проверка(E элемент), {E или()?}) → E inherited - Возвращает первый элемент, удовлетворяющий заданному предикату
test. - fold<
T>( T начальноеЗначение, T объединение(T предыдущееЗначение, E элемент)) → T inherited - Сводит коллекцию к одному значению путём итеративного комбинирования каждого элемента коллекции с существующим значением
- followedBy(
Iterable< E> другое) → Iterable< E> inherited - Возвращает ленивую конкатенацию этого итерируемого объекта и
other. - forEach(
void действие(E элемент)) → void inherited - Вызывает
actionдля каждого элемента этого итерируемого объекта в порядке итерации. - intersection(
Set< Объект?> другое) → Set< E> - Создаёт новое множество, которое является пересечением этого множества и
other. - join(
[Строка разделитель = ""]) → Строка inherited - Преобразует каждый элемент в Строку и конкатенирует строки.
- lastWhere(
bool проверка(E элемент), {E или()?}) → E inherited - Возвращает последний элемент, удовлетворяющий заданному предикату
test. - lookup(
Объект? объект) → E? - Если в множестве есть объект, равный
object, возвращает его. - map<
T>( T преобразованиеЭлемента(E e)) → Iterable< T> inherited - Текущие элементы этого итерируемого объекта, изменённые путём
toElement. - noSuchMethod(
Вызов вызов) → dynamic inherited - Вызывается при доступе к несуществующему методу или свойству.
- reduce(
E объединение(E значение, E элемент)) → E inherited - Сводит коллекцию к одному значению путём итеративного комбинирования элементов коллекции с использованием предоставленной функции.
- remove(
Объект? значение) → bool - Удаляет
valueиз множества. - removeAll(
Iterable< Объект?> элементы) → void - Удаляет каждый элемент
elementsиз этого множества. - removeWhere(
bool проверка(E элемент)) → void - Удаляет все элементы этого множества, удовлетворяющие
test. - retainAll(
Iterable< Объект?> элементы) → void - Удаляет все элементы этого множества, которые не являются элементами в
elements. - retainWhere(
bool проверка(E элемент)) → void - Удаляет все элементы этого множества, которые не удовлетворяют
test. - singleWhere(
bool проверка(E элемент), {E или()?}) → E inherited - Возвращает единственный элемент, удовлетворяющий
test. - skip(
int количество) → Iterable< E> inherited - Возвращает Iterable, содержащую все элементы, кроме первых
countэлементов. - skipWhile(
bool проверка(E значение)) → Iterable< E> inherited - Возвращает
Iterable, пропускающий ведущие элементы, покаtestвыполняется. - take(
int количество) → Iterable< E> inherited - Возвращает ленивый итерируемый объект первых
countэлементов этого итерируемого объекта. - takeWhile(
bool проверка(E значение)) → Iterable< E> inherited - Возвращает ленивый итерируемый объект ведущих элементов, удовлетворяющих
test. - toList(
{bool изменяемый = true}) → Список< E> inherited - Создаёт Список, содержащий элементы этого Iterable.
- toSet(
) → Set< E> override - Создаёт Множество с теми же элементами и поведением, что и у этого
Set. - toString(
) → Строка inherited - Возвращает строковое представление (части) элементов
this. - union(
Set< E> другое) → Set< E> - Создаёт новое множество, содержащее все элементы этого множества и
other. - where(
bool проверка(E элемент)) → Iterable< E> inherited - Возвращает новый ленивый Iterable со всеми элементами, удовлетворяющими предикату
test. - whereType<
T>( ) → Iterable< T> inherited - Возвращает новый ленивый Iterable со всеми элементами типа
T.
Операторы
- operator ==(
Объект другое) → bool inherited - Оператор равенства.
Статические методы
- castFrom<
S, T>( Set< S> исходное, {Set< R> новоеМножество()?}) → Set< T> override - Адаптирует
sourceдля использования в качествеSet<T>.
© 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/Set-class.html