PHP - definir funções

Set é uma sequência de valores exclusivos e esta implementação pode usar a mesma tabela hash que Ds \ Map, onde os valores são usados ​​como chaves e o valor mapeado é ignorado.

Forças

  • Os valores podem ser de qualquer tipo, incluindo objetos.
  • Suporta sintaxe de array (colchetes).
  • A ordem de inserção é preservada.
  • Libera automaticamente a memória alocada quando seu tamanho diminui o suficiente.
  • add (), remove () e contains () são todos O (1).

Fraquezas

  • Não suporta push (), pop (), insert (), shift () ou unshift ().
  • get () é O (n) se houver valores deletados no buffer antes do índice acessado, O (1) caso contrário.

Sinopse da aula

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

Sr. Não Descrição da função
1

Ds \ Set :: allocate ()

Esta função pode alocar memória suficiente para a capacidade necessária.

2

Ds \ Set :: add ()

Esta função pode adicionar valores ao conjunto.

3

Ds \ Set :: capacity ()

Esta função pode retornar a capacidade atual.

4

Ds \ Set :: clear ()

Esta função pode remover todos os valores.

5

Ds \ Set :: __ construct ()

Esta função pode criar uma nova instância.

6

Ds \ Set :: contains ()

Esta função pode determinar se o conjunto contém todos os valores.

7

Ds \ Set :: copy ()

Esta função pode retornar uma cópia superficial do conjunto.

8

Ds \ Set :: count

Esta função pode ser usada para contar o número de valores presentes em um conjunto e também conhecida como o tamanho de uma instância de conjunto.

9

Ds \ Set :: diff ()

Esta função pode criar um novo conjunto usando os valores que não estão em outro conjunto.

10

Ds \ Sequence :: filter ()

Esta função pode criar o novo conjunto usando um chamável para determinar quais valores incluir.

11

Ds \ Set :: first ()

Esta função pode retornar o primeiro valor em um conjunto.

12

Ds \ Set :: get ()

Esta função pode retornar o valor em um determinado índice.

13

Ds \ Set :: intersect ()

Esta função pode criar um novo conjunto cruzando os valores com outro conjunto.

14

Ds \ Set :: isEmpty ()

Esta função pode retornar se o conjunto está vazio.

15

Ds \ Set :: join ()

Esta função pode juntar todos os valores como uma string.

16

Ds \ Set :: jsonSerialize ()

Esta função pode retornar uma representação que pode ser convertida em JSON.

17

Ds \ Set :: last ()

Esta função pode retornar o último valor em um conjunto.

18

Ds \ Set :: merge ()

Esta função pode retornar o resultado da adição de todos os valores fornecidos a um conjunto.

19

Ds \ Set :: reduzir ()

Esta função pode reduzir um conjunto a um valor único usando a função de retorno de chamada.

20

Ds \ Set :: remove ()

Esta função pode remover todos os valores fornecidos do conjunto.

21

Ds \ Set :: reverse ()

Esta função pode reverter um conjunto no local.

22

Ds \ Set :: reversed ()

Esta função pode retornar uma cópia revertida.

23

Ds \ Set :: slice ()

Esta função pode retornar o subconjunto de um determinado intervalo.

24

Ds \ Set :: sort ()

Esta função pode classificar um conjunto no local.

25

Ds \ Set :: classificado ()

Esta função pode retornar uma cópia classificada.

26

Ds \ Set :: sum ()

Esta função pode retornar a soma de todos os valores em um conjunto.

27

Ds \ Set :: toArray ()

Esta função pode converter um conjunto em um array.

28

Ds \ Set :: union ()

Esta função pode criar um novo conjunto usando valores da instância atual e outro conjunto.

29

Ds \ Set :: xor ()

Esta função pode criar um novo conjunto usando os valores na instância atual e outro conjunto, mas não em ambos.