(Информация о версии неизвестна, возможно, только в SVN)
Введение
Set - это последовательность уникальных значений. Реализация использует ту же
хеш-таблицу, что и Ds\Map, в которой значения используются
в качестве ключей и связанные значения игнорируются.
Сильный стороны
- Значения могут быть любого типа, включая объекты.
- Поддерживает синтаксис массива (квадратные скобки).
- Сохраняется порядок вставки.
- Автоматически высвобождает память, когда количество элементов уменхается.
-
add(),
remove() и
contains() имеют сложность O(1).
Слабые стороны
- Не поддерживает
push(),
pop(),
insert(),
shift() и
unshift().
-
get() имеет сложность O(n), если есть удаленные значения
в буфере, до значения, к которому происходит доступ. Иначе O(1).
Обзор классов
Ds\Set
implements
Ds\Collection
{
public void clear
(
void
)
public Ds\Set copy
(
void
)
public Ds\Set diff
(
Ds\Set $set
)
public void first
(
void
)
public mixed get
(
int $index
)
public string join
([
string $glue
] )
public void last
(
void
)
public Ds\Set slice
(
int $index
[,
int $length
] )
public number sum
(
void
)
public Ds\Set union
(
Ds\Set $set
)
public Ds\Set xor
(
Ds\Set $set
)
}
Предопределенные константы
Ds\Set::MIN_CAPACITY
-