La clase Map

(PECL ds >= 1.0.0)

Introducción

Un Map es una colección secuencial de pares clave-valor, casi identico a un array usado en un contexto similar. Las claves pueden ser de cualquier tipo, pero deben ser únicos. Los valores se reemplazan si se agregan al mapa usando la misma clave.

Fortalezas

  • Las claves y valores pueden ser de cualquer tipo, incluyendo objetos.
  • Soporta la sintaxis array (corchetes).
  • Se mantiene el orden de inserción.
  • El rendimiento y la eficiencia de memoria son muy similares al de un array.
  • Automáticamente libera la memoria asignada cuando su tamaño cae lo suficientemente bajo.

Debilidades

  • No puede ser convertido a un array cuando los objetos son usados como claves.

Sinopsis de la Clase

class Ds\Map implements Ds\Collection, ArrayAccess {
/* Constantes */
const int MIN_CAPACITY = 8;
/* Métodos */
public function allocate(int $capacity): void
public function apply(callable $callback): void
public function capacity(): int
public function clear(): void
public function copy(): Ds\Map
public function diff(Ds\Map $map): Ds\Map
public function filter(callable $callback = ?): Ds\Map
public function first(): Ds\Pair
public function get(mixed $key, mixed $default = ?): mixed
public function hasKey(mixed $key): bool
public function hasValue(mixed $value): bool
public function intersect(Ds\Map $map): Ds\Map
public function isEmpty(): bool
public function keys(): Ds\Set
public function ksort(callable $comparator = ?): void
public function ksorted(callable $comparator = ?): Ds\Map
public function last(): Ds\Pair
public function map(callable $callback): Ds\Map
public function merge(mixed $values): Ds\Map
public function pairs(): Ds\Sequence
public function put(mixed $key, mixed $value): void
public function putAll(mixed $pairs): void
public function reduce(callable $callback, mixed $initial = ?): mixed
public function remove(mixed $key, mixed $default = ?): mixed
public function reverse(): void
public function reversed(): Ds\Map
public function skip(int $position): Ds\Pair
public function slice(int $index, int $length = ?): Ds\Map
public function sort(callable $comparator = ?): void
public function sorted(callable $comparator = ?): Ds\Map
public function sum(): int|float
public function toArray(): array
public function union(Ds\Map $map): Ds\Map
public function values(): Ds\Sequence
public function xor(Ds\Map $map): Ds\Map
}

Constantes predefinidas

Ds\Map::MIN_CAPACITY

Historial de cambios

Versión Descripción
PECL ds 1.3.0 La clase ahora implementa ArrayAccess.
PECL ds 1.2.0 Ds\Map::MIN_CAPACITY cambió de 16 a 8.

Tabla de contenidos

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top