Структуры данных

  • Введение
  • Установка и настройка
  • Предопределенные константы
  • Примеры
  • Коллекция — Интерфейс Collection
  • Хешируемое — Интерфейс Hashable
    • Ds\Hashable::equals — Определяет, равен ли текущий экземпляр переданному объекту
    • Ds\Hashable::hash — Возвращает скалярное значение для использования в качестве значения хеша
  • Последовательность — Интерфейс Sequence
    • Ds\Sequence::allocate — Выделение памяти под указанную вместимость
    • Ds\Sequence::apply — Обновление всех значений применением к ним переданной callback-функции
    • Ds\Sequence::capacity — Возвращает текущую вместимость
    • Ds\Sequence::contains — Проверяет, содержатся ли в коллекции заданные значения
    • Ds\Sequence::filter — Создает новую последовательность из элементов, выбранных с помощью заданной callback-функции
    • Ds\Sequence::find — Поиск индекса по значению
    • Ds\Sequence::first — Возвращает первый элемент коллекции
    • Ds\Sequence::get — Возвращает значение по индексу
    • Ds\Sequence::insert — Вставляет значения по указанному индексу
    • Ds\Sequence::join — Склеивает все значения в строку
    • Ds\Sequence::last — Возвращает последнее значение коллекции
    • Ds\Sequence::map — Возвращает результат применения callback-функции ко всем значениям коллекции
    • Ds\Sequence::merge — Возвращает результат добавления всех заданных значений в коллекцию
    • Ds\Sequence::pop — Удаляет и возвращает последнее значение
    • Ds\Sequence::push — Добавляет значения в конец последовательности
    • Ds\Sequence::reduce — Схлопывает коллекцию до одного значения используя callback-функцию
    • Ds\Sequence::remove — Удаляет и возвращает значение по индексу
    • Ds\Sequence::reverse — Переворачивает текущую коллекцию
    • Ds\Sequence::reversed — Возвращает перевернутую копию коллекции
    • Ds\Sequence::rotate — Перематывает последовательность на заданное число значений
    • Ds\Sequence::set — Заменяет значение по указанному индексу
    • Ds\Sequence::shift — Удаляет и возвращает первое значение
    • Ds\Sequence::slice — Возвращает под-коллекцию из заданного диапазона
    • Ds\Sequence::sort — Сортирует коллекцию
    • Ds\Sequence::sorted — Возвращает отсортированную по значению копию коллекции
    • Ds\Sequence::sum — Возвращает сумму всех значений коллекции
    • Ds\Sequence::unshift — Добавляет значения в начало последовательности
  • Вектор — Класс Vector
    • 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 — Добавляет значения в начало вектора
  • Двухсторонняя очередь — Класс Deque
    • Ds\Deque::allocate — Выделяет память под указанную вместимость
    • Ds\Deque::apply — Обновляет все значения, применяя callback-функцию к каждому значению
    • Ds\Deque::capacity — Возвращает текущую вместимость
    • Ds\Deque::clear — Удаляет все значения из двухсторонней очереди
    • Ds\Deque::__construct — Создает новый экземпляр
    • Ds\Deque::contains — Проверяет, содержится ли в двухсторонней очереди заданные значения
    • Ds\Deque::copy — Возвращает поверхностную копию коллекции
    • Ds\Deque::count — Возвращает количество элементов двухсторонней очереди
    • Ds\Deque::filter — Создает новую двухстороннюю очередь из элементов, выбранных с помощью заданной callback-функции
    • Ds\Deque::find — Поиск индекса по значению
    • Ds\Deque::first — Возвращает первый элемент двухсторонней очереди
    • Ds\Deque::get — Возвращает значение по индексу
    • Ds\Deque::insert — Вставляет значения по указанному индексу
    • Ds\Deque::isEmpty — Проверяет, пуста ли двухсторонняя очередь
    • Ds\Deque::join — Склеивает все значения в строку
    • Ds\Deque::jsonSerialize — Возвращает коллекцию в JSON-представлении
    • Ds\Deque::last — Возвращает последнее значение двухсторонней очереди
    • Ds\Deque::map — Возвращает результат применения callback-функции ко всем значениям двухсторонней очереди
    • Ds\Deque::merge — Возвращает результат добавления всех заданных значений в двухстороннюю очередь
    • Ds\Deque::pop — Удаляет и возвращает последнее значение
    • Ds\Deque::push — Добавляет значения в конец двухсторонней очереди
    • Ds\Deque::reduce — Уменьшает коллекцию до одного значения, используя callback-функцию
    • Ds\Deque::remove — Удаляет и возвращает значение по индексу
    • Ds\Deque::reverse — Переворачивает текущую двухстороннюю очередь
    • Ds\Deque::reversed — Возвращает перевернутую копию двухсторонней очереди
    • Ds\Deque::rotate — Перематывает двухстороннюю очередь на заданное число значений
    • Ds\Deque::set — Заменяет значение по указанному индексу
    • Ds\Deque::shift — Удаляет и возвращает первое значение
    • Ds\Deque::slice — Возвращает подочередь из заданного диапазона
    • Ds\Deque::sort — Сортирует двухстороннюю очередь
    • Ds\Deque::sorted — Возвращает отсортированную по значению копию двухсторонней очереди
    • Ds\Deque::sum — Возвращает сумму всех значений двухсторонней очереди
    • Ds\Deque::toArray — Преобразует двухстороннюю очередь в массив (array)
    • Ds\Deque::unshift — Добавляет значения в начало двухсторонней очереди
  • Коллекция пар ключ-значение — Класс Map
    • Ds\Map::allocate — Выделяет необходимое количество памяти под требуюмую вместимость
    • Ds\Map::apply — Обновление всех значений применением к ним переданной callback-функции
    • Ds\Map::capacity — Возвращает текущую вместимость
    • Ds\Map::clear — Удаляет все значения из коллекции
    • Ds\Map::__construct — Создает новый экземпляр
    • Ds\Map::copy — Возвращает поверхностную копию коллекции
    • Ds\Map::count — Возвращает количество элементов коллекции
    • Ds\Map::diff — Создает новую коллекцию пар с элементами, ключей которых нет в другой коллекции пар
    • Ds\Map::filter — Создает новую коллекцию пар из элементов, выбранных с помощью заданной callback-функции
    • Ds\Map::first — Возвращает первый элемент коллекции
    • Ds\Map::get — Возвращает значение по ключу
    • Ds\Map::hasKey — Проверяет, содержит ли коллекция заданный ключ
    • Ds\Map::hasValue — Проверяет, содержит ли коллекция заданное значение
    • Ds\Map::intersect — Создает новую коллекцию пар, созданную пересечением с другой коллекцией пар
    • Ds\Map::isEmpty — Проверяет, пуста ли коллекция
    • Ds\Map::jsonSerialize — Возвращает коллекцию в JSON-представлении
    • Ds\Map::keys — Возвращает набор ключей коллекции
    • Ds\Map::ksort — Сортирует текущую коллекцию по ключам
    • Ds\Map::ksorted — Возвращает копию коллекции, отсортированной по ключам
    • Ds\Map::last — Возвращает последнюю пару коллекции
    • Ds\Map::map — Возвращает результат применения callback-функции ко всем значениям коллекции
    • Ds\Map::merge — Возвращает результат добавления всех заданных элементов в коллекцию
    • Ds\Map::pairs — Возвращает последовательность, содержащую все пары коллекции
    • Ds\Map::put — Установка значения по заданному ключу
    • Ds\Map::putAll — Связывает с коллекцией все пары ключ-значение из объекта класса traversable или массива
    • Ds\Map::reduce — Уменьшает коллекцию до одного значения, используя callback-функцию
    • Ds\Map::remove — Удаляет и возвращает значение по ключу
    • Ds\Map::reverse — Переворачивает текущую коллекцию
    • Ds\Map::reversed — Возвращает перевернутую копию коллекции
    • Ds\Map::skip — Возвращает пару по индексу позиции
    • Ds\Map::slice — Возвращает подмножество коллекции из заданного диапазона
    • Ds\Map::sort — Сортирует коллекцию по значениям
    • Ds\Map::sorted — Возвращает отсортированную по значению копию коллекции
    • Ds\Map::sum — Возвращает сумму всех значений коллекции
    • Ds\Map::toArray — Преобразует коллекцию в array
    • Ds\Map::union — Создает новую коллекцию пар из элементов двух коллекций
    • Ds\Map::values — Возвращает последовательность значений коллекции
    • Ds\Map::xor — Создает новую коллекцию пар из элементов, которые есть в одной из коллекций, но не в обеих одновременно
  • Пара — Класс Pair
  • Набор — Класс Set
    • 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 — Создает новый набор из значений, которые есть в одном из наборов, но не в обоих одновременно
  • Стек — Класс Stack
    • Ds\Stack::allocate — Выделяет память под указанную вместимость
    • Ds\Stack::capacity — Возвращает текущую вместимость
    • Ds\Stack::clear — Удаляет все значения из коллекции
    • Ds\Stack::__construct — Создает новый экземпляр класса
    • Ds\Stack::copy — Возвращает поверхностную копию коллекции
    • Ds\Stack::count — Возвращает количество элементов коллекции
    • Ds\Stack::isEmpty — Проверяет, пуста ли коллекция
    • Ds\Stack::jsonSerialize — Возвращает коллекцию в JSON-представлении
    • Ds\Stack::peek — Возвращает значение с вершины стека
    • Ds\Stack::pop — Удаляет и возвращает значение с вершины стека
    • Ds\Stack::push — Добавляет значения в стек
    • Ds\Stack::toArray — Преобразует коллекцию в массив (array)
  • Очередь — Класс Queue
    • Ds\Queue::allocate — Выделяет память под указанную вместимость
    • Ds\Queue::capacity — Возвращает текущую вместимость
    • Ds\Queue::clear — Удаляет все значения
    • Ds\Queue::__construct — Создает новый экземпляр
    • Ds\Queue::copy — Возвращает поверхностную копию очереди
    • Ds\Queue::count — Возвращает количество элементов очереди
    • Ds\Queue::isEmpty — Проверяет, пуста ли коллекция
    • Ds\Queue::jsonSerialize — Возвращает коллекцию в JSON-представлении
    • Ds\Queue::peek — Возвращает значение из начала очереди
    • Ds\Queue::pop — Удаляет и возвращает значение из начала очереди
    • Ds\Queue::push — Добавляет значения в очередь
    • Ds\Queue::toArray — Преобразует коллекцию в массив (array)
  • Очередь с приоритетом — Класс PriorityQueue