Класс Map

(PECL ds >= 1.0.0)

Введение

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

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

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

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

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

Обзор класса

class Ds\Map implements Ds\Collection, ArrayAccess {
/* Константы */
const int MIN_CAPACITY = 8;
/* Методы */
public function allocate(int $capacity): void
public function apply(callable $callback): void
public function capacity(): int
public function clear(): void
public function copy(): Ds\Map
public function diff(Ds\Map $map): Ds\Map
public function filter(callable $callback = ?): Ds\Map
public function first(): Ds\Pair
public function get(mixed $key, mixed $default = ?): mixed
public function hasKey(mixed $key): bool
public function hasValue(mixed $value): bool
public function intersect(Ds\Map $map): Ds\Map
public function isEmpty(): bool
public function keys(): Ds\Set
public function ksort(callable $comparator = ?): void
public function ksorted(callable $comparator = ?): Ds\Map
public function last(): Ds\Pair
public function map(callable $callback): Ds\Map
public function merge(mixed $values): Ds\Map
public function pairs(): Ds\Sequence
public function put(mixed $key, mixed $value): void
public function putAll(mixed $pairs): void
public function reduce(callable $callback, mixed $initial = ?): mixed
public function remove(mixed $key, mixed $default = ?): mixed
public function reverse(): void
public function reversed(): Ds\Map
public function skip(int $position): Ds\Pair
public function slice(int $index, int $length = ?): Ds\Map
public function sort(callable $comparator = ?): void
public function sorted(callable $comparator = ?): Ds\Map
public function sum(): int|float
public function toArray(): array
public function union(Ds\Map $map): Ds\Map
public function values(): Ds\Sequence
public function xor(Ds\Map $map): Ds\Map
}

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

Ds\Map::MIN_CAPACITY

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

Версия Описание
PECL ds 1.3.0 Теперь класс реализует интерфейс ArrayAccess.
PECL ds 1.2.0 Значение константы Ds\Map::MIN_CAPACITY изменено с 16 на 8.

Содержание

  • 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