Клас Map

(PECL ds >= 1.0.0)

Вступ

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

Сильні сторони

  • Ключі та значення можуть бути будь-якого типу, включаючи об'єкти.
  • Підтримує синтаксис масиву (квадратні дужки).
  • Зберігається порядок вставки.
  • Швидкість та споживання пам'яті можна порівняти з використанням масиву.
  • Автоматично звільняє пам'ять, коли кількість елементів зменшується.

Слабкі сторони

  • Не може бути конвертована в масив, якщо як ключі використовуються об'єкти.

Огляд класів



    
    
     
      class Ds\Map
     

     implements 
       Ds\Collection,  ArrayAccess {
    
    /* Константы */
    
     const
     int
      MIN_CAPACITY = 16;


    /* Методы */
    
   public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public copy(): Ds\Map
public diff(Ds\Map $map): Ds\Map
public filter(callable $callback = ?): Ds\Map
public first(): Ds\Pair
public get(mixed $key, mixed $default = ?): mixed
public hasKey(mixed $key): bool
public hasValue(mixed $value): bool
public intersect(Ds\Map $map): Ds\Map
public isEmpty(): bool
public keys(): Ds\Set
public ksort(callable $comparator = ?): void
public ksorted(callable $comparator = ?): Ds\Map
public last(): Ds\Pair
public map(callable $callback): Ds\Map
public merge(mixed $values): Ds\Map
public pairs(): Ds\Sequence
public put(mixed $key, mixed $value): void
public putAll(mixed $pairs): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(mixed $key, mixed $default = ?): mixed
public reverse(): void
public reversed(): Ds\Map
public skip(int $position): Ds\Pair
public slice(int $index, int $length = ?): Ds\Map
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Map
public sum(): int|float
public toArray(): array
public union(Ds\Map $map): Ds\Map
public values(): Ds\Sequence
public xor(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— Створює нову колекцію пар із елементів, які є в одній із колекцій, але не в обох одночасно