A classe Set

(PECL ds >= 1.0.0)

Introdução

Um Set é uma sequência de valores únicos. Esta implementação usa a mesma tabela de hash que Ds\Map, onde os valores são usados como chaves e o valor mapeado é ignorado.

Pontos Fortes

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

Pontos Fracos

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

Resumo da classe

classDs\SetimplementsDs\Collection, ArrayAccess {
constintMIN_CAPACITY = 16;
publicadd(mixed...$values): void
publicallocate(int$capacity): void
publiccapacity(): int
publicclear(): void
publiccontains(mixed...$values): bool
publiccopy(): Ds\Set
publicdiff(Ds\Set$set): Ds\Set
publicfilter(callable$callback = ?): Ds\Set
publicfirst(): mixed
publicget(int$index): mixed
publicintersect(Ds\Set$set): Ds\Set
publicisEmpty(): bool
publicjoin(string$glue = ?): string
publiclast(): mixed
publicmerge(mixed$values): Ds\Set
publicreduce(callable$callback, mixed$initial = ?): mixed
publicremove(mixed...$values): void
publicreverse(): void
publicreversed(): Ds\Set
publicslice(int$index, int$length = ?): Ds\Set
publicsort(callable$comparator = ?): void
publicsorted(callable$comparator = ?): Ds\Set
publicsum(): int|float
publictoArray(): array
publicunion(Ds\Set$set): Ds\Set
publicxor(Ds\Set$set): Ds\Set
}

Constantes pré-definidas

Ds\Set::MIN_CAPACITY

Registro de Alterações

VersãoDescrição
PECL ds 1.3.0 A classe agora implementa ArrayAccess.

Índice

To Top