PHP - Establecer funciones

Set es una secuencia de valores únicos y esta implementación puede usar la misma tabla hash que Ds \ Map donde los valores se usan como claves y el valor mapeado se ignora.

Fortalezas

  • Los valores pueden ser de cualquier tipo, incluidos los objetos.
  • Admite la sintaxis de matriz (corchetes).
  • Se conserva el orden de inserción.
  • Libera automáticamente la memoria asignada cuando su tamaño cae lo suficientemente bajo.
  • add (), remove () y contains () son todos O (1).

Debilidades

  • No es compatible con push (), pop (), insert (), shift () o unshift ().
  • get () es O (n) si hay valores eliminados en el búfer antes del índice al que se accede, O (1) en caso contrario.

Sinopsis de la clase

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 predefinidas

Ds \ Set :: MIN_CAPACITY

No Señor Función descriptiva
1

Ds \ Set :: allocate ()

Esta función puede asignar suficiente memoria para la capacidad requerida.

2

Ds \ Set :: agregar ()

Esta función puede agregar valores al conjunto.

3

Ds \ Set :: capacidad ()

Esta función puede devolver la capacidad actual.

4

Ds \ Set :: borrar ()

Esta función puede eliminar todos los valores.

5

Ds \ Set :: __ construct ()

Esta función puede crear una nueva instancia.

6

Ds \ Set :: contiene ()

Esta función puede determinar si el conjunto contiene todos los valores.

7

Ds \ Set :: copiar ()

Esta función puede devolver una copia superficial del conjunto.

8

Ds \ Set :: cuenta

Esta función se puede utilizar para contar el número de valores presentes en un conjunto, y también se la conoce como el tamaño de una instancia de conjunto.

9

Ds \ Set :: diff ()

Esta función puede crear un nuevo conjunto utilizando los valores que no están en otro conjunto.

10

Ds \ Sequence :: filter ()

Esta función puede crear el nuevo conjunto utilizando un invocable para determinar qué valores incluir.

11

Ds \ Set :: primero ()

Esta función puede devolver el primer valor de un conjunto.

12

Ds \ Set :: get ()

Esta función puede devolver el valor en un índice dado.

13

Ds \ Set :: intersect ()

Esta función puede crear un nuevo conjunto cruzando los valores con otro conjunto.

14

Ds \ Set :: isEmpty ()

Esta función puede devolver si el conjunto está vacío.

15

Ds \ Set :: unirse ()

Esta función puede unir todos los valores como una cadena.

dieciséis

Ds \ Set :: jsonSerialize ()

Esta función puede devolver una representación que se puede convertir a JSON.

17

Ds \ Set :: último ()

Esta función puede devolver el último valor de un conjunto.

18

Ds \ Set :: merge ()

Esta función puede devolver el resultado de sumar todos los valores dados a un conjunto.

19

Ds \ Set :: reducir ()

Esta función puede reducir un conjunto a un valor único mediante la función de devolución de llamada.

20

Ds \ Set :: eliminar ()

Esta función puede eliminar todos los valores dados del conjunto.

21

Ds \ Set :: reverse ()

Esta función puede revertir un conjunto in situ.

22

Ds \ Set :: invertido ()

Esta función puede devolver una copia invertida.

23

Ds \ Set :: rebanada ()

Esta función puede devolver el subconjunto de un rango determinado.

24

Ds \ Set :: sort ()

Esta función puede ordenar un conjunto in situ.

25

Ds \ Set :: ordenado ()

Esta función puede devolver una copia ordenada.

26

Ds \ Set :: suma ()

Esta función puede devolver la suma de todos los valores de un conjunto.

27

Ds \ Set :: toArray ()

Esta función puede convertir un conjunto en una matriz.

28

Ds \ Set :: unión ()

Esta función puede crear un nuevo conjunto utilizando valores de la instancia actual y otro conjunto.

29

Ds \ Set :: xor ()

Esta función puede crear un nuevo conjunto utilizando los valores de la instancia actual y otro conjunto, pero no en ambos.