Класс Set
(No version information available, might only be in Git)
Введение
Set - это последовательность уникальных значений. Реализация использует ту же хеш-таблицу, что и Ds\Map, в которой значения используются в качестве ключей, а связанные значения игнорируются.
Сильные стороны
- Значения могут быть любого типа, включая объекты.
- Поддерживает синтаксис массива (квадратные скобки).
- Сохраняется порядок вставки.
- Автоматически высвобождает память, когда количество элементов значительно уменьшается.
- add(), remove() и contains() имеют сложность O(1).
Слабые стороны
- Не поддерживает push(), pop(), insert(), shift() и unshift().
- get() имеет сложность O(n), если есть удаленные значения в буфере, до значения, к которому происходит доступ. Иначе O(1).
Обзор классов
/* Константы */
/* Методы */
}Предопределенные константы
Ds\Set::MIN_CAPACITY
Содержание
- Ds\Set::add — Добавляет значения в набор
- Ds\Set::allocate — Выделяет память под указанную вместимость
- Ds\Set::capacity — Возвращает текущую вместимость
- Ds\Set::clear — Удаляет все значения из коллекции
- Ds\Set::__construct — Создает новый экземпляр класса
- Ds\Set::contains — Проверяет, содержится ли в коллекции заданные значения
- Ds\Set::copy — Возвращает поверхностную копию коллекции
- Ds\Set::count — Возвращает количество элементов коллекции
- Ds\Set::diff — Создает новый набор с элементами, которых нет в другом наборе
- Ds\Set::filter — Создает новый список из элементов, выбранных с помощью заданной callback-функции
- Ds\Set::first — Возвращает первый элемент коллекции
- Ds\Set::get — Возвращает значение по индексу
- Ds\Set::intersect — Создает новый набор, созданный пересечением с другим набором
- Ds\Set::isEmpty — Проверяет, пуста ли коллекция
- Ds\Set::join — Склеивает все значения в строку
- Ds\Set::jsonSerialize — Возвращает коллекцию в JSON-представлении
- Ds\Set::last — Возвращает последнее значение коллекции
- Ds\Set::merge — Возвращает результат добавления всех заданных значений в набор
- Ds\Set::reduce — Уменьшает коллекцию до одного значения, используя callback-функцию
- Ds\Set::remove — Удаляет все заданные значения из набора
- Ds\Set::reverse — Переворачивает текущую коллекцию
- Ds\Set::reversed — Возвращает перевернутую копию коллекции
- Ds\Set::slice — Возвращает поднабор из заданного диапазона
- Ds\Set::sort — Сортирует коллекцию
- Ds\Set::sorted — Возвращает отсортированную по значению копию коллекции
- Ds\Set::sum — Возвращает сумму всех значений коллекции
- Ds\Set::toArray — Преобразует коллекцию в массив (array)
- Ds\Set::union — Создает новый набор из элементов текущего и переданного наборов
- Ds\Set::xor — Создает новый набор из значений, которые есть в одном из наборов, но не в обоих одновременно