PHP - Définir les fonctions

Set est une séquence de valeurs uniques, et cette implémentation peut utiliser 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.

Forces

  • Les valeurs peuvent être de tout type, y compris les objets.
  • Prend en charge la syntaxe de tableau (crochets).
  • L'ordre d'insertion est conservé.
  • Libère automatiquement la mémoire allouée lorsque sa taille diminue suffisamment.
  • add (), remove () et contains () sont tous O (1).

Faiblesses

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

Synopsis du cours

Ds\Set implements Ds\Collection {
   /* Constants */
   const int MIN_CAPACITY = 16 ;

   /* Methods */
   public void add([ mixed $...values ] )
   public void allocate( int $capacity )
   public int capacity( void )
   public void clear( void )
   public bool contains([ mixed $...values ] )
   public Ds\Set copy( void )
   public Ds\Set diff( Ds\Set $set )
   public Ds\Set filter([ callable $callback ] )
   public void first( void )
   public mixed get( int $index )
   public Ds\Set intersect( Ds\Set $set )
   public bool isEmpty( void )
   public string join([ string $glue ] )
   public void last( void )
   public Ds\Set merge( mixed $values )
   public mixed reduce( callable $callback [, mixed $initial ] )
   public void remove([ mixed $...values ] )
   public void reverse( void )
   public Ds\Set reversed( void )
   public Ds\Set slice( int $index [, int $length ] )
   public void sort([ callable $comparator ] )
   public Ds\Set sorted([ callable $comparator ] )
   public number sum( void ) 
   public array toArray( void )
   public Ds\Set union( Ds\Set $set )
   public Ds\Set xor( Ds\Set $set )
}

Constantes prédéfinies

Ds \ Set :: MIN_CAPACITY

Sr. Non Description de la fonction
1

Ds \ Set :: allocate ()

Cette fonction peut allouer suffisamment de mémoire pour la capacité requise.

2

Ds \ Set :: add ()

Cette fonction peut ajouter des valeurs à l'ensemble.

3

Ds \ Set :: capacité ()

Cette fonction peut renvoyer la capacité actuelle.

4

Ds \ Set :: clear ()

Cette fonction peut supprimer toutes les valeurs.

5

Ds \ Set :: __ construct ()

Cette fonction peut créer une nouvelle instance.

6

Ds \ Set :: contient ()

Cette fonction peut déterminer si l'ensemble contient toutes les valeurs.

sept

Ds \ Set :: copy ()

Cette fonction peut renvoyer une copie superficielle de l'ensemble.

8

Ds \ Set :: count

Cette fonction peut être utilisée pour compter le nombre de valeurs présentes dans un ensemble, et également appelée taille d'une instance d'ensemble.

9

Ds \ Set :: diff ()

Cette fonction peut créer un nouvel ensemble en utilisant les valeurs qui ne sont pas dans un autre ensemble.

dix

Ds \ Sequence :: filter ()

Cette fonction peut créer le nouvel ensemble en utilisant un appelable pour déterminer les valeurs à inclure.

11

Ds \ Set :: first ()

Cette fonction peut renvoyer la première valeur d'un ensemble.

12

Ds \ Set :: get ()

Cette fonction peut renvoyer la valeur à un index donné.

13

Ds \ Set :: intersect ()

Cette fonction peut créer un nouvel ensemble en croisant les valeurs avec un autre ensemble.

14

Ds \ Set :: isEmpty ()

Cette fonction peut retourner si l'ensemble est vide.

15

Ds \ Set :: join ()

Cette fonction peut joindre toutes les valeurs sous forme de chaîne.

16

Ds \ Set :: jsonSerialize ()

Cette fonction peut renvoyer une représentation qui peut être convertie en JSON.

17

Ds \ Set :: last ()

Cette fonction peut renvoyer la dernière valeur d'un ensemble.

18

Ds \ Set :: merge ()

Cette fonction peut renvoyer le résultat de l'ajout de toutes les valeurs données à un ensemble.

19

Ds \ Set :: réduire ()

Cette fonction peut réduire un ensemble à une valeur unique en utilisant la fonction de rappel.

20

Ds \ Set :: remove ()

Cette fonction peut supprimer toutes les valeurs données de l'ensemble.

21

Ds \ Set :: reverse ()

Cette fonction peut inverser un ensemble en place.

22

Ds \ Set :: inversé ()

Cette fonction peut renvoyer une copie inversée.

23

Ds \ Set :: slice ()

Cette fonction peut renvoyer le sous-ensemble d'une plage donnée.

24

Ds \ Set :: sort ()

Cette fonction peut trier un ensemble sur place.

25

Ds \ Set :: trié ()

Cette fonction peut renvoyer une copie triée.

26

Ds \ Set :: sum ()

Cette fonction peut renvoyer la somme de toutes les valeurs d'un ensemble.

27

Ds \ Set :: toArray ()

Cette fonction peut convertir un ensemble en tableau.

28

Ds \ Set :: union ()

Cette fonction peut créer un nouvel ensemble en utilisant les valeurs de l'instance actuelle et d'un autre ensemble.

29

Ds \ Set :: xor ()

Cette fonction peut créer un nouvel ensemble en utilisant les valeurs de l'instance actuelle et d'un autre ensemble, mais pas dans les deux.