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