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

Sequence (interface)

序列界面

介绍

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

序列描述了排列在单个线性维度中的值的行为。有些语言将此称为“列表”。它与使用递增整数键的数组类似,但有几个特征除外:

  • 值将始终索引为0,1,2,...,size - 1。

  • 只允许通过索引访问值范围为0,size - 1的值。

用例:

  • 无论你在哪里使用数组作为列表(不关心键)。

  • 更有效的替代SplDoublyLinkedList和SplFixedArray。

界面简介

Ds\Sequence implements Ds\Collection {

/* 方法 */

abstract public void allocate ( int $capacity )

abstract public void apply ( callable $callback )

abstract public int capacity ( void )

abstract public bool contains ([ mixed $...values ] )

abstract public Ds\Sequence filter ([ callable $callback ] )

abstract public mixed find ( mixed $value )

abstract public mixed first ( void )

abstract public mixed get ( int $index )

abstract public void insert ( int $index [, mixed $...values ] )

abstract public string join ([ string $glue ] )

abstract public mixed last ( void )

abstract public Ds\Sequence map ( callable $callback )

abstract public Ds\Sequence merge ( mixed $values )

abstract public mixed pop ( void )

abstract public void push ([ mixed $...values ] )

abstract public mixed reduce ( callable $callback [, mixed $initial ] )

abstract public mixed remove ( int $index )

abstract public void reverse ( void )

abstract public Ds\Sequence reversed ( void )

abstract public void rotate ( int $rotations )

abstract public void set ( int $index , mixed $value )

abstract public mixed shift ( void )

abstract public Ds\Sequence slice ( int $index [, int $length ] )

abstract public void sort ([ callable $comparator ] )

abstract public Ds\Sequence sorted ([ callable $comparator ] )

abstract public number sum ( void )

abstract public void unshift ([ mixed $values ] )

}

目录

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

  • Ds \ Sequence :: apply - 通过对每个值应用回调函数来更新所有值。

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

  • Ds \ Sequence :: contains - 确定序列是否包含给定的值。

  • Ds \ Sequence :: filter - 使用可调用函数创建一个新序列,以确定要包含哪些值。

  • Ds \ Sequence :: find - 尝试查找值的索引。

  • Ds \ Sequence :: first - 返回序列中的第一个值。

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

  • Ds \ Sequence :: insert - 在给定索引处插入值。

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

  • Ds \ Sequence :: last - 返回最后一个值。

  • Ds \ Sequence :: merge - 返回将所有给定值添加到序列的结果。

  • Ds \ Sequence :: pop - 删除并返回最后一个值。

  • Ds \ Sequence :: push - 将值添加到序列的末尾。

  • Ds \ Sequence :: reduce - 使用回调函数将序列减少为单个值。

  • Ds \ Sequence :: remove - 删除并通过索引返回一个值。

  • Ds \ Sequence :: reverse - 在原地反转序列。

  • Ds \ Sequence :: reversed - 返回一个颠倒的副本。

  • Ds \ Sequence :: rotate - 将序列旋转给定数量的旋转。

  • Ds \ Sequence :: set - 更新给定索引处的值。

  • Ds \ Sequence :: shift - 移除并返回第一个值。

  • Ds \ Sequence :: slice - 返回给定范围的子序列。

  • Ds \ Sequence :: sort - 原地排序序列。

  • Ds \ Sequence :: sorted - 返回一个排序副本。

  • Ds \ Sequence :: sum - 返回序列中所有值的总和。

  • Ds \ Sequence :: unshift - 将值添加到序列的前面。

← Ds\Hashable::hash

Ds\Sequence::allocate →