PHP - 设置函数


Set 是唯一值的序列,此实现可以使用与 Ds\Map 相同的哈希表,其中值用作键,而映射的值将被忽略。

优势

  • 值可以是任何类型,包括对象。
  • 支持数组语法(方括号)。
  • 保留插入顺序。
  • 当分配的内存大小足够低时,自动释放分配的内存。
  • add()、remove() 和 contains() 都是 O(1)。

弱点

  • 不支持 push()、pop()、insert()、shift() 或 unshift()。
  • 如果缓冲区中在访问的索引之前有已删除的值,则 get() 的复杂度为 O(n),否则为 O(1)。

班级概要

Ds\Set implements Ds\Collection {
   /* Constants */
   const int MIN_CAPACITY = 16 ;

   /* Methods */
   public void add([ mixed $...values ] )
   public void allocate( int $capacity )
   public int capacity( void )
   public void clear( void )
   public bool contains([ mixed $...values ] )
   public Ds\Set copy( void )
   public Ds\Set diff( Ds\Set $set )
   public Ds\Set filter([ callable $callback ] )
   public void first( void )
   public mixed get( int $index )
   public Ds\Set intersect( Ds\Set $set )
   public bool isEmpty( void )
   public string join([ string $glue ] )
   public void last( void )
   public Ds\Set merge( mixed $values )
   public mixed reduce( callable $callback [, mixed $initial ] )
   public void remove([ mixed $...values ] )
   public void reverse( void )
   public Ds\Set reversed( void )
   public Ds\Set slice( int $index [, int $length ] )
   public void sort([ callable $comparator ] )
   public Ds\Set sorted([ callable $comparator ] )
   public number sum( void ) 
   public array toArray( void )
   public Ds\Set union( Ds\Set $set )
   public Ds\Set xor( Ds\Set $set )
}

预定义常量

Ds\Set::MIN_CAPACITY

先生编号 功能说明
1

Ds\Set::分配()

该函数可以为所需容量分配足够的内存。

2

Ds\Set::add()

该函数可以向集合添加值。

3

Ds\Set::容量()

该函数可以返回当前容量。

4

Ds\Set::clear()

该函数可以删除所有值。

5

Ds\Set::__construct()

该函数可以创建一个新实例。

6

Ds\Set::包含()

该函数可以确定集合是否包含所有值。

7

Ds\Set::copy()

该函数可以返回该集合的浅表副本。

8

Ds\Set::计数

该函数可用于计算集合中存在的值的数量,也称为集合实例的大小。

9

Ds\Set::diff()

此函数可以使用另一个集合中不存在的值来创建一个新集合。

10

Ds\Sequence::filter()

此函数可以通过使用可调用来确定要包含哪些值来创建新集。

11

Ds\Set::first()

该函数可以返回集合中的第一个值。

12

Ds\Set::get()

该函数可以返回给定索引处的值。

13

Ds\Set::相交()

此函数可以通过将值与另一个集合相交来创建一个新集合。

14

Ds\Set::isEmpty()

该函数可以返回集合是否为空。

15

Ds\Set::join()

该函数可以将所有值连接在一起作为一个字符串。

16

Ds\Set::jsonSerialize()

此函数可以返回可转换为 JSON 的表示形式。

17 号

Ds\Set::last()

该函数可以返回集合中的最后一个值。

18

Ds\Set::merge()

该函数可以返回将所有给定值添加到集合中的结果。

19

Ds\Set::reduce()

该函数可以通过使用回调函数将集合减少为单个值。

20

Ds\Set::remove()

该函数可以从集合中删除所有给定值。

21

Ds\Set::reverse()

该函数可以就地反转一组。

22

Ds\Set::reversed()

该函数可以返回反向副本。

23

Ds\Set::slice()

该函数可以返回给定范围的子集。

24

Ds\Set::sort()

该函数可以就地对集合进行排序。

25

Ds\Set::已排序()

该函数可以返回排序后的副本。

26

Ds\Set::sum()

该函数可以返回集合中所有值的总和。

27

Ds\Set::toArray()

该函数可以将集合转换为数组。

28

Ds\Set::union()

此函数可以使用当前实例和另一个集合中的值创建一个新集合。

29

Ds\Set::xor()

此函数可以使用当前实例和另一个集合中的值创建一个新集合,但不能同时使用这两个实例中的值。

php_function_reference.htm