Introduction
PHP Manual
PHP Manual»Structures de données»Ds\Set

La classe Set

(PECL ds >= 1.0.0)

Un Set est une séquence de valeurs uniques. Cette implémentation utilise la même table de hachage que Ds\Map, où les valeurs sont utilisées comme clés et la valeur mappée est ignorée.

  • 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é.
  • Libère automatiquement la mémoire allouée lorsque sa taille devient suffisamment faible.
  • add(), remove() et contains() sont tous de complexité O(1).

  • Ne supporte pas: push(), pop(), insert(), shift(), ou unshift().
  • get() est de complexité O(n) s'il y a des valeurs supprimées dans le tampon avant l'index accédé, O(1) sinon.

class Ds\Set implements Ds\Collection, ArrayAccess {
/* Constantes */
const int MIN_CAPACITY = 8;
/* Méthodes */
public function add(mixed ...$values): void
public function allocate(int $capacity): void
public function capacity(): int
public function clear(): void
public function contains(mixed ...$values): bool
public function copy(): Ds\Set
public function diff(Ds\Set $set): Ds\Set
public function filter(callable $callback = ?): Ds\Set
public function first(): mixed
public function get(int $index): mixed
public function intersect(Ds\Set $set): Ds\Set
public function isEmpty(): bool
public function join(string $glue = ?): string
public function last(): mixed
public function map(callable $callback): Ds\Set
public function merge(mixed $values): Ds\Set
public function reduce(callable $callback, mixed $initial = ?): mixed
public function remove(mixed ...$values): void
public function reverse(): void
public function reversed(): Ds\Set
public function slice(int $index, int $length = ?): Ds\Set
public function sort(callable $comparator = ?): void
public function sorted(callable $comparator = ?): Ds\Set
public function sum(): int|float
public function toArray(): array
public function union(Ds\Set $set): Ds\Set
public function xor(Ds\Set $set): Ds\Set
}

Version Description
PECL ds 1.3.0 Cette classe implémente maintenant ArrayAccess.
PECL ds 1.2.7 Ajout de la méthode Ds\Set::map().
PECL ds 1.2.0 Ds\Set::MIN_CAPACITY est passé de 16 à 8.

Sommaire

  • Ds\Set::add — Ajoute des valeurs à l'ensemble
  • Ds\Set::allocate — Alloue suffisamment de mémoire pour une capacité requise
  • Ds\Set::capacity — Renvoie la capacité actuelle
  • Ds\Set::clear — Supprime toutes les valeurs
  • Ds\Set::__construct — Crée une nouvelle instance
  • Ds\Set::contains — Détermine si l'ensemble contient toutes les valeurs
  • Ds\Set::copy — Renvoie une copie superficielle de l'ensemble
  • Ds\Set::count — Renvoie le nombre de valeurs dans l'ensemble
  • Ds\Set::diff — Crée un nouvel ensemble en utilisant des valeurs qui ne sont pas dans un autre ensemble
  • Ds\Set::filter — Créer un nouvel ensemble en utilisant un callable pour déterminer quelles valeurs inclure
  • Ds\Set::first — Renvoie la première valeur de l'ensemble
  • Ds\Set::get — Renvoie la valeur à un index donné
  • Ds\Set::intersect — Crée un nouvel ensemble en utilisant des valeurs communes avec un autre ensemble
  • Ds\Set::isEmpty — Renvoie si l'ensemble est vide
  • Ds\Set::join — Rassemble toutes les valeurs en une chaîne
  • Ds\Set::jsonSerialize — Renvoie une représentation qui peut être convertie en JSON
  • Ds\Set::last — Renvoie la dernière valeur de l'ensemble
  • Ds\Set::map — Renvoie le résultat de l'application d'une fonction de rappel à chaque valeur
  • Ds\Set::merge — Renvoie le résultat de l'ajout de toutes les valeurs données à l'ensemble
  • Ds\Set::reduce — Réduit l'ensemble à une seule valeur en utilisant une fonction de rappel
  • Ds\Set::remove — Supprime toutes les valeurs données de l'ensemble
  • Ds\Set::reverse — Renverse l'ensemble en place
  • Ds\Set::reversed — Renvoie une copie renversée
  • Ds\Set::slice — Renvoie un sous-ensemble d'une plage donnée
  • Ds\Set::sort — Trie l'ensemble en place
  • Ds\Set::sorted — Renvoie une copie triée
  • Ds\Set::sum — Renvoie la somme de toutes les valeurs de l'ensemble
  • Ds\Set::toArray — Convertit l'ensemble en un array
  • Ds\Set::union — Crée un nouvel ensemble en utilisant les valeurs de l'instance actuelle et d'un autre ensemble
  • Ds\Set::xor — Crée un nouvel ensemble en utilisant les valeurs de l'instance actuelle ou d'un autre ensemble, mais pas des deux
To Top