Структуры данных
PHP Manual

Класс Set

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Set - это последовательность уникальных значений. Реализация использует ту же хеш-таблицу, что и Ds\Map, в которой значения используются в качестве ключей и связанные значения игнорируются.

Сильные стороны

  • Значения могут быть любого типа, включая объекты.
  • Поддерживает синтаксис массива (квадратные скобки).
  • Сохраняется порядок вставки.
  • Автоматически высвобождает память, когда количество элементов уменьшается.
  • add(), remove() и contains() имеют сложность O(1).

Слабые стороны

  • Не поддерживает push(), pop(), insert(), shift() и unshift().
  • get() имеет сложность O(n), если есть удаленные значения в буфере, до значения, к которому происходит доступ. Иначе O(1).

Обзор классов

Ds\Set implements Ds\Collection {
/* Константы */
const int MIN_CAPACITY = 16 ;
/* Методы */
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 )
}

Предопределенные константы

Ds\Set::MIN_CAPACITY

Содержание


Структуры данных
PHP Manual