PHP - Imposta funzioni

Set è una sequenza di valori univoci e questa implementazione può utilizzare la stessa tabella hash di Ds \ Map in cui i valori vengono utilizzati come chiavi e il valore mappato viene ignorato.

Punti di forza

  • I valori possono essere di qualsiasi tipo, inclusi gli oggetti.
  • Supporta la sintassi degli array (parentesi quadre).
  • L'ordine di inserzione viene mantenuto.
  • Libera automaticamente la memoria allocata quando le sue dimensioni si riducono abbastanza.
  • add (), remove () e contains () sono tutti O (1).

Debolezze

  • Non supporta push (), pop (), insert (), shift () o unshift ().
  • get () è O (n) se ci sono valori cancellati nel buffer prima dell'indice a cui si accede, O (1) altrimenti.

Sinossi della classe

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 )
}

Costanti predefinite

Ds \ Set :: MIN_CAPACITY

Suor n Descrizione della funzione
1

Ds \ Set :: allocate ()

Questa funzione può allocare memoria sufficiente per la capacità richiesta.

2

Ds \ Set :: add ()

Questa funzione può aggiungere valori al set.

3

Ds \ Set :: capacità ()

Questa funzione può restituire la capacità corrente.

4

Ds \ Set :: clear ()

Questa funzione può rimuovere tutti i valori.

5

Ds \ Set :: __ costrutto ()

Questa funzione può creare una nuova istanza.

6

Ds \ Set :: contiene ()

Questa funzione può determinare se l'insieme contiene tutti i valori.

7

Ds \ Set :: copy ()

Questa funzione può restituire una copia superficiale del set.

8

Ds \ Set :: count

Questa funzione può essere utilizzata per contare il numero di valori presenti in un set e viene anche definita dimensione di un'istanza di set.

9

Ds \ Set :: diff ()

Questa funzione può creare un nuovo set utilizzando i valori che non sono in un altro set.

10

Ds \ Sequence :: filter ()

Questa funzione può creare il nuovo set utilizzando un chiamabile per determinare quali valori includere.

11

Ds \ Set :: first ()

Questa funzione può restituire il primo valore in un set.

12

Ds \ Set :: get ()

Questa funzione può restituire il valore in un determinato indice.

13

Ds \ Set :: intersect ()

Questa funzione può creare un nuovo insieme intersecando i valori con un altro insieme.

14

Ds \ Set :: isEmpty ()

Questa funzione può restituire se il set è vuoto.

15

Ds \ Set :: join ()

Questa funzione può unire tutti i valori insieme come una stringa.

16

Ds \ Set :: jsonSerialize ()

Questa funzione può restituire una rappresentazione che può essere convertita in JSON.

17

Ds \ Set :: last ()

Questa funzione può restituire l'ultimo valore in un set.

18

Ds \ Set :: merge ()

Questa funzione può restituire il risultato dell'aggiunta di tutti i valori dati a un set.

19

Ds \ Set :: reduce ()

Questa funzione può ridurre un set a un valore singolo utilizzando la funzione di callback.

20

Ds \ Set :: remove ()

Questa funzione può rimuovere tutti i valori dati dall'insieme.

21

Ds \ Set :: reverse ()

Questa funzione può invertire un set sul posto.

22

Ds \ Set :: invertito ()

Questa funzione può restituire una copia inversa.

23

Ds \ Set :: slice ()

Questa funzione può restituire il sottoinsieme di un determinato intervallo.

24

Ds \ Set :: sort ()

Questa funzione può ordinare un set sul posto.

25

Ds \ Set :: ordinato ()

Questa funzione può restituire una copia ordinata.

26

Ds \ Set :: sum ()

Questa funzione può restituire la somma di tutti i valori in un insieme.

27

Ds \ Set :: toArray ()

Questa funzione può convertire un set in un array.

28

Ds \ Set :: union ()

Questa funzione può creare un nuovo set utilizzando i valori dell'istanza corrente e un altro set.

29

Ds \ Set :: xor ()

Questa funzione può creare un nuovo set utilizzando i valori nell'istanza corrente e un altro set ma non in entrambi.