Класс Map

(PECL ds >= 1.0.0)

Введение

Коллекция пар - это последовательная коллекция, содержащая пары ключ-значение, практически идентичная массиву и используется для тех же целей. Ключи могут быть любого типа, но должны быть уникальными. Если добавить пару с уже существующим ключом, то она будет заменена.

Сильные стороны

  • Ключи и значения могут быть любого типа, включая объекты.
  • Поддерживает синтаксис массива (квадратные скобки).
  • Сохраняется порядок вставки.
  • Скорость и потребление памяти сравнимо с использованием массива.
  • Автоматически освобождает память, когда количество элементов уменьшается.

Слабые стороны

  • Не может быть сконвертирована в массив, если в качестве ключей используются объекты.

Обзор классов

classDs\MapimplementsDs\Collection, ArrayAccess {
constintMIN_CAPACITY = 16;
publicallocate(int$capacity): void
publicapply(callable$callback): void
publiccapacity(): int
publicclear(): void
publiccopy(): Ds\Map
publicdiff(Ds\Map$map): Ds\Map
publicfilter(callable$callback = ?): Ds\Map
publicfirst(): Ds\Pair
publicget(mixed$key, mixed$default = ?): mixed
publichasKey(mixed$key): bool
publichasValue(mixed$value): bool
publicintersect(Ds\Map$map): Ds\Map
publicisEmpty(): bool
publickeys(): Ds\Set
publicksort(callable$comparator = ?): void
publicksorted(callable$comparator = ?): Ds\Map
publiclast(): Ds\Pair
publicmap(callable$callback): Ds\Map
publicmerge(mixed$values): Ds\Map
publicput(mixed$key, mixed$value): void
publicputAll(mixed$pairs): void
publicreduce(callable$callback, mixed$initial = ?): mixed
publicremove(mixed$key, mixed$default = ?): mixed
publicreverse(): void
publicreversed(): Ds\Map
publicskip(int$position): Ds\Pair
publicslice(int$index, int$length = ?): Ds\Map
publicsort(callable$comparator = ?): void
publicsorted(callable$comparator = ?): Ds\Map
publicsum(): int|float
publictoArray(): array
publicunion(Ds\Map$map): Ds\Map
publicxor(Ds\Map$map): Ds\Map
}

Предопределённые константы

Ds\Map::MIN_CAPACITY

Список изменений

ВерсияОписание
PECL ds 1.3.0 Теперь класс реализует ArrayAccess.

Содержание

  • 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 — Создаёт новую коллекцию пар из элементов, которые есть в одной из коллекций, но не в обеих одновременно
To Top