首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Set (class)

介绍

(没有可用的版本信息,可能只在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 ;

/* 方法 */

代码语言:javascript
复制
public void add ([ mixed $...values ] )
代码语言:javascript
复制
public void allocate ( int $capacity )
代码语言:javascript
复制
public int capacity ( void )
代码语言:javascript
复制
public void clear ( void )
代码语言:javascript
复制
public bool contains ([ mixed $...values ] )
代码语言:javascript
复制
public Ds\Set copy ( void )
代码语言:javascript
复制
public Ds\Set diff ( Ds\Set $set )
代码语言:javascript
复制
public Ds\Set filter ([ callable $callback ] )
代码语言:javascript
复制
public void first ( void )
代码语言:javascript
复制
public mixed get ( int $index )
代码语言:javascript
复制
public Ds\Set intersect ( Ds\Set $set )
代码语言:javascript
复制
public bool isEmpty ( void )
代码语言:javascript
复制
public string join ([ string $glue ] )
代码语言:javascript
复制
public void last ( void )
代码语言:javascript
复制
public Ds\Set merge ( mixed $values )
代码语言:javascript
复制
public mixed reduce ( callable $callback [, mixed $initial ] )
代码语言:javascript
复制
public void remove ([ mixed $...values ] )
代码语言:javascript
复制
public void reverse ( void )
代码语言:javascript
复制
public Ds\Set reversed ( void )
代码语言:javascript
复制
public Ds\Set slice ( int $index [, int $length ] )
代码语言:javascript
复制
public void sort ([ callable $comparator ] )
代码语言:javascript
复制
public Ds\Set sorted ([ callable $comparator ] )
代码语言:javascript
复制
public number sum ( void )
代码语言:javascript
复制
public array toArray ( void )
代码语言:javascript
复制
public Ds\Set union ( Ds\Set $set )
代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券