A classe Vector
(PECL ds >= 1.0.0)
Introdução
Um Vector é uma sequência de valores em um buffer contíguo que cresce e diminui automaticamente. É a estrutura sequencial mais eficiente porque o índice de um valor é um mapeamento direto para seu índice no buffer, e o fator de crescimento não está vinculado a um múltiplo ou expoente específico.
Pontos Fortes
- Suporta a sintaxe de array (colchetes).
- Usa menos memória geral do que um array para o mesmo número de valores.
- Libera automaticamente a memória alocada quando seu tamanho diminui o suficiente.
- A capacidade não precisa ser uma potência de 2.
- get(), set(), push(), pop() são todos O(1).
Pontos Fracos
- shift(), unshift(), insert() e remove() são todos O(n).
Resumo da classe
/* Constantes */
/* Métodos */
}Constantes pré-definidas
Table of Contents
- Ds\Vector::allocate — Aloca memória suficiente para uma capacidade requerida
- Ds\Vector::apply — Atualiza todos os valores aplicando uma função de callback a cada valor
- Ds\Vector::capacity — Retorna a capacidade atual
- Ds\Vector::clear — Remove todos os valores
- Ds\Vector::__construct — Cria uma nova instância
- Ds\Vector::contains — Determina se o vetor contém os valores fornecidos
- Ds\Vector::copy — Retorna uma cópia rasa do vetor
- Ds\Vector::count — Retorna o número de valores na coleção
- Ds\Vector::filter — Cria um novo vetor usando um callable para determinar quais valores incluir.
- Ds\Vector::find — Tenta encontrar o índice de um valor
- Ds\Vector::first — Retorna o primeiro valor no vetor
- Ds\Vector::get — Retorna o valor em um índice específico
- Ds\Vector::insert — Insere valores em um índice específico
- Ds\Vector::isEmpty — Retorna se o vetor está vazio
- Ds\Vector::join — Junta todos os valores como uma string
- Ds\Vector::jsonSerialize — Retorna uma representação que pode ser convertida para JSON
- Ds\Vector::last — Retorna o último valor
- Ds\Vector::map — Retorna o resultado da aplicação de uma função de callback a cada valor
- Ds\Vector::merge — Retorna o resultado da adição de todos os valores fornecidos ao vetor
- Ds\Vector::pop — Remove e retorna o último valor
- Ds\Vector::push — Adiciona valores ao final do vetor
- Ds\Vector::reduce — Reduz o vetor a um único valor usando uma função de callback
- Ds\Vector::remove — Remove e retorna um valor pelo índice
- Ds\Vector::reverse — Inverte o vetor no local
- Ds\Vector::reversed — Retorna uma cópia invertida
- Ds\Vector::rotate — Rotaciona o vetor por um número dado de rotações
- Ds\Vector::set — tualiza um valor em um índice específico
- Ds\Vector::shift — Remove e retorna o primeiro valor
- Ds\Vector::slice — Retorna um sub-vetor de um determinado intervalo
- Ds\Vector::sort — Ordena o vetor no local
- Ds\Vector::sorted — Retorna uma cópia ordenada
- Ds\Vector::sum — Retorna a soma de todos os valores no vetor
- Ds\Vector::toArray — Converte o vetor em um array
- Ds\Vector::unshift — Adiciona valores no início do vetor