2024 日本 PHP 研討會

Vector 類別

(PECL ds >= 1.0.0)

簡介

Vector 是一個在連續緩衝區中的值序列,可以自動增長和縮小。它是最有效率的序列結構,因為值的索引直接對應到它在緩衝區中的索引,而且增長因子不受特定倍數或指數的限制。

優點

  • 支援陣列語法(方括號)。
  • 對於相同數量的值,比 陣列 使用更少的總記憶體。
  • 當大小降低到足夠低時,會自動釋放已配置的記憶體。
  • 容量不一定要是 2 的次方。
  • get()set()push()pop() 的時間複雜度都是 O(1)。

缺點

  • shift()unshift()insert()remove() 的時間複雜度都是 O(n)。

類別概要

class Ds\Vector implements Ds\Sequence, ArrayAccess {
/* 常數 */
const int MIN_CAPACITY = 10;
/* 方法 */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public contains(mixed ...$values): bool
public copy(): Ds\Vector
public filter(callable $callback = ?): Ds\Vector
public find(mixed $value): mixed
public first(): mixed
public get(int $index): mixed
public insert(int $index, mixed ...$values): void
public isEmpty(): bool
公開 join(字串 $glue = ?): 字串
公開 last(): 混合
公開 map(可呼叫 $callback): Ds\Vector
公開 merge(混合 $values): Ds\Vector
公開 pop(): 混合
公開 push(混合 ...$values):
公開 reduce(可呼叫 $callback, 混合 $initial = ?): 混合
公開 remove(整數 $index): 混合
公開 reverse():
公開 rotate(整數 $rotations):
公開 set(整數 $index, 混合 $value):
公開 shift(): 混合
公開 slice(整數 $index, 整數 $length = ?): Ds\Vector
公開 sort(可呼叫 $comparator = ?):
公開 sorted(可呼叫 $comparator = ?): Ds\Vector
公開 sum(): 整數|浮點數
公開 toArray(): 陣列
公開 unshift(混合 $values = ?):
}

預定義常數

Ds\Vector::MIN_CAPACITY

更新日誌

版本 說明
PECL ds 1.3.0 此類別現在實作 ArrayAccess

目錄

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top