La classe Map

(PECL ds >= 1.0.0)

Introduction

Une Map est une collection sĂ©quentielle de paires clĂ©-valeur, presque identique Ă  un tableau utilisĂ© dans un contexte similaire. Les clĂ©s peuvent ĂȘtre de n'importe quel type, mais doivent ĂȘtre uniques. Les valeurs sont remplacĂ©es si elles sont ajoutĂ©es Ă  la map en utilisant la mĂȘme clĂ©.

Force

  • Les clĂ©s et les valeurs peuvent ĂȘtre de n'importe quel type, y compris des objets.
  • Support de la syntaxe de tableau (crochets).
  • L'ordre d'insertion est prĂ©servĂ©.
  • La performance et l'efficacitĂ© mĂ©moire sont trĂšs similaires Ă  un tableau.
  • LibĂšre automatiquement la mĂ©moire allouĂ©e lorsque sa taille devient suffisamment faible.

Faiblesses

  • Ne peut pas ĂȘtre converti en un tableau lorsque des objets sont utilisĂ©s comme clĂ©s.

Synopsis de la classe

class Ds\Map implements Ds\Collection, ArrayAccess {
/* Constantes */
const int MIN_CAPACITY = 8;
/* Méthodes */
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
}

Constantes pré-définies

Ds\Map::MIN_CAPACITY

Historique

Version Description
PECL ds 1.3.0 La classe implémente maintenant ArrayAccess.
PECL ds 1.2.0 Ds\Map::MIN_CAPACITY est passé de 16 à 8.

Sommaire

  • Ds\Map::allocate — Alloue suffisamment de mĂ©moire pour une capacitĂ© requise
  • Ds\Map::apply — Met Ă  jour toutes les valeurs en appliquant une fonction de rappel Ă  chaque valeur
  • Ds\Map::capacity — Renvoie la capacitĂ© actuelle
  • Ds\Map::clear — EnlĂšve toutes les valeurs
  • Ds\Map::__construct — CrĂ©e une nouvelle instance
  • Ds\Map::copy — Renvoie une copie superficielle de la carte
  • Ds\Map::count — Renvoie le nombre de valeurs dans la carte
  • Ds\Map::diff — CrĂ©e une nouvelle map en utilisant des clĂ©s qui ne sont pas dans une autre map
  • Ds\Map::filter — CrĂ©e une nouvelle carte en utilisant un callable pour dĂ©terminer quelles paires inclure
  • Ds\Map::first — Renvoie la premiĂšre paire de la carte
  • Ds\Map::get — Renvoie la valeur pour une clĂ© donnĂ©e
  • Ds\Map::hasKey — DĂ©termine si la carte contient une clĂ© donnĂ©e
  • Ds\Map::hasValue — DĂ©termine si la carte contient une valeur donnĂ©e
  • Ds\Map::intersect — CrĂ©e une nouvelle carte en intersectant les clĂ©s avec une autre carte
  • Ds\Map::isEmpty — Renvoie si la carte est vide
  • Ds\Map::jsonSerialize — Renvoie une reprĂ©sentation qui peut ĂȘtre convertie en JSON
  • Ds\Map::keys — Renvoie un ensemble des clĂ©s de la carte
  • Ds\Map::ksort — Trie la carte en place par clĂ©
  • Ds\Map::ksorted — Renvoie une copie, triĂ©e par clĂ©
  • Ds\Map::last — Renvoie la derniĂšre paire de la carte
  • Ds\Map::map — Renvoie le rĂ©sultat de l'application d'une fonction de rappel Ă  chaque valeur
  • Ds\Map::merge — Renvoie le rĂ©sultat de l'ajout de toutes les associations donnĂ©es
  • Ds\Map::pairs — Renvoie une sĂ©quence contenant toutes les paires de la carte
  • Ds\Map::put — Associe une clĂ© Ă  une valeur
  • Ds\Map::putAll — Associe toutes les paires clĂ©-valeur d'un objet traversable ou d'un tableau
  • Ds\Map::reduce — RĂ©duit la carte Ă  une seule valeur en utilisant une fonction de rappel
  • Ds\Map::remove — EnlĂšve et renvoie une valeur par clĂ©
  • Ds\Map::reverse — Renverse la carte en place
  • Ds\Map::reversed — Renvoie une copie inversĂ©e
  • Ds\Map::skip — Renvoie la paire Ă  un index de position donnĂ©
  • Ds\Map::slice — Renvoie un sous-ensemble de la carte dĂ©fini par un index de dĂ©part et une longueur
  • Ds\Map::sort — Trie la carte en place par valeur
  • Ds\Map::sorted — Renvoie une copie, triĂ©e par valeur
  • Ds\Map::sum — Renvoie la somme de toutes les valeurs de la carte
  • Ds\Map::toArray — Convertit la carte en un tableau
  • Ds\Map::union — CrĂ©e une nouvelle carte en utilisant les valeurs de l'instance actuelle et d'une autre carte
  • Ds\Map::values — Renvoie une sĂ©quence des valeurs de la carte
  • Ds\Map::xor — CrĂ©e une nouvelle carte en utilisant les clĂ©s de l'instance actuelle ou d'une autre carte, mais pas des deux
add a note

User Contributed Notes

There are no user contributed notes for this page.