在线文档教程
PHP
数据结构 | Data Structures

Set (class)

Set类

介绍

(没有可用的版本信息,可能只在Git中)

Set是一系列唯一值。此实现使用与Ds \ Map相同的散列表,其中值用作键,并忽略映射的值。

优势

  • 值可以是任何类型,包括对象。

  • 支持数组语法(方括号)。

  • 插入顺序被保留。

  • 当大小下降得足够小时,自动释放分配的内存。

  • add(), remove() and contains() are all O(1).

弱点

  • 不支持push()pop()insert()shift()unshift()

  • 如果在访问的索引之前存在删除的值,则get()为O(n),否则为O(1)。

类简介

Ds\Set implements Ds\Collection {

/ *常量* /

const int MIN_CAPACITY = 16 ;

/* 方法 */

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

目录

  • Ds \ Set :: add - 将值添加到集合中。

  • Ds \ Set :: allocate - 为所需容量分配足够的内存。

  • Ds \ Set :: capacity - 返回当前容量。

  • Ds \ Set :: clear - 删除所有值。

  • Ds \ Set :: __ construct - 创建一个新实例。

  • Ds \ Set :: contains - 确定集合是否包含所有值。

  • Ds \ Set :: copy - 返回集合的浅表副本。

  • Ds \ Set :: count - 返回集合中的值的数量。

  • Ds \ Set :: diff - 使用不在另一个集合中的值创建一个新集合。

  • Ds \ Set :: filter - 使用callable创建一个新集以确定包含哪些值。

  • Ds \ Set :: first - 返回集合中的第一个值。

  • Ds \ Set :: get - 返回给定索引处的值。

  • Ds \ Set :: intersect - 通过与另一个集合相交的值创建一个新集。

  • Ds \ Set :: isEmpty - 返回该集是否为空

  • Ds \ Set :: join - 将所有值连接为一个字符串。

  • Ds \ Set :: jsonSerialize - 返回可以转换为JSON的表示。

  • Ds \ Set :: last - 返回集合中的最后一个值。

  • Ds \ Set :: merge - 返回将所有给定值添加到集合的结果。

  • Ds \ Set :: reduce - 使用回调函数将设置减少为单个值。

  • Ds \ Set :: remove - 从集合中删除所有给定的值。

  • Ds \ Set :: reverse - 在原地颠倒Set。

  • Ds \ Set :: reversed - 返回一个反转的副本。

  • Ds \ Set :: slice - 返回给定范围的子集。

  • Ds \ Set :: sort - 就地排序集合。

  • Ds \ Set :: sorted - 返回一个排序后的副本。

  • Ds \ Set :: sum - 返回集合中所有值的总和。

  • Ds \ Set :: toArray - 将集合转换为数组。

  • Ds \ Set :: union - 使用当前实例和另一个集合中的值创建一个新集合。

  • Ds \ Set :: xor - 使用当前实例或另一个集合中的值创建一个新集合,但不是同时在这两个集合中创建一个新集合。

← Ds\Pair::toArray

Ds\Set::add →