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
/* Constantes */
/* Métodos */
}Constantes pré-definidas
Registro de Alterações
Versão | Descrição |
---|---|
PECL ds 1.3.0 | A classe agora implementa ArrayAccess. |
PECL ds 1.2.7 | Adicionado o método Ds\Set::map(). |
Table of Contents
- Ds\Set::add — Adiciona valores ao conjunto
- Ds\Set::allocate — Aloca memória suficiente para uma capacidade necessária
- Ds\Set::capacity — Retorna a capacidade atual
- Ds\Set::clear — Remove todos os valores
- Ds\Set::__construct — Cria uma nova instância
- Ds\Set::contains — Determina se o conjunto contém todos os valores
- Ds\Set::copy — Retorna uma cópia rasa do conjunto
- Ds\Set::count — Retorna o número de valores no conjunto
- Ds\Set::diff — Cria um novo conjunto usando valores que não estão em outro conjunto
- Ds\Set::filter — Cria um novo conjunto usando um callable para determinar quais valores incluir
- Ds\Set::first — Retorna o primeiro valor no conjunto
- Ds\Set::get — Retorna o valor em um índice específico
- Ds\Set::intersect — Cria um novo conjunto interseccionando valores com outro conjunto
- Ds\Set::isEmpty — Retorna se o conjunto está vazio
- Ds\Set::join — Junta todos os valores em uma string
- Ds\Set::jsonSerialize — Retorna uma representação que pode ser convertida para JSON
- Ds\Set::last — Retorna o último valor no conjunto
- Ds\Set::map — Retorna o resultado da aplicação de um retorno de chamada a cada valor
- Ds\Set::merge — Retorna o resultado da adição de todos os valores dados ao conjunto
- Ds\Set::reduce — Reduz o conjunto a um único valor usando uma função de callback
- Ds\Set::remove — Remove todos os valores dados do conjunto
- Ds\Set::reverse — Inverte o conjunto no local
- Ds\Set::reversed — Retorna uma cópia invertida
- Ds\Set::slice — Retorna um subconjunto de um intervalo dado
- Ds\Set::sort — Ordena o conjunto no local
- Ds\Set::sorted — Retorna uma cópia ordenada
- Ds\Set::sum — Retorna a soma de todos os valores no conjunto
- Ds\Set::toArray — Converte o conjunto para um array
- Ds\Set::union — Cria um novo conjunto usando valores da instância atual e de outro conjunto
- Ds\Set::xor — Cria um novo conjunto usando valores na instância atual ou em outro conjunto, mas não em ambos