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 = 16;
/* Métodos */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public copy(): Ds\Map
public diff(Ds\Map $map): Ds\Map
public filter(callable $callback = ?): Ds\Map
public first(): Ds\Pair
public get(mixed $key, mixed $default = ?): mixed
public hasKey(mixed $key): bool
public hasValue(mixed $value): bool
public intersect(Ds\Map $map): Ds\Map
public isEmpty(): bool
public keys(): Ds\Set
public ksort(callable $comparator = ?): void
public ksorted(callable $comparator = ?): Ds\Map
public last(): Ds\Pair
public map(callable $callback): Ds\Map
public merge(mixed $values): Ds\Map
public pairs(): Ds\Sequence
public put(mixed $key, mixed $value): void
public putAll(mixed $pairs): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(mixed $key, mixed $default = ?): mixed
public reverse(): void
public reversed(): Ds\Map
public skip(int $position): Ds\Pair
public slice(int $index, int $length = ?): Ds\Map
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Map
public sum(): int|float
public toArray(): array
public union(Ds\Map $map): Ds\Map
public 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.

Tabla de contenidos

add a note

User Contributed Notes

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