The Set class

(No version information available, might only be in Git)

简介

A Set is a sequence of unique values. This implementation uses the same hash table as Ds\Map, where values are used as keys and the mapped value is ignored.

Strengths

  • Values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Automatically frees allocated memory when its size drops low enough.
  • add(), remove() and contains() are all O(1).

Weaknesses

  • Doesn’t support push(), pop(), insert(), shift(), or unshift().
  • get() is O(n) if there are deleted values in the buffer before the accessed index, O(1) otherwise.

类摘要

Ds\Set implements Ds\Collection , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 16 ;
/* 方法 */
public add ( mixed ...$values ) : void
public allocate ( int $capacity ) : void
public capacity ( ) : int
public clear ( ) : void
public contains ( mixed ...$values ) : bool
public copy ( ) : Ds\Set
public diff ( Ds\Set $set ) : Ds\Set
public filter ( callable $callback = ? ) : Ds\Set
public first ( ) : mixed
public get ( int $index ) : mixed
public intersect ( Ds\Set $set ) : Ds\Set
public isEmpty ( ) : bool
public join ( string $glue = ? ) : string
public last ( ) : mixed
public merge ( mixed $values ) : Ds\Set
public reduce ( callable $callback , mixed $initial = ? ) : mixed
public remove ( mixed ...$values ) : void
public reverse ( ) : void
public reversed ( ) : Ds\Set
public slice ( int $index , int $length = ? ) : Ds\Set
public sort ( callable $comparator = ? ) : void
public sorted ( callable $comparator = ? ) : Ds\Set
public sum ( ) : int|float
public toArray ( ) : array
public union ( Ds\Set $set ) : Ds\Set
public xor ( Ds\Set $set ) : Ds\Set
}

预定义常量

Ds\Set::MIN_CAPACITY

更新日志

版本 说明
PECL ds 1.3.0 The class now implements ArrayAccess.

目录