PHP Conference Japan 2024

QuickHashIntSet 类

(PECL quickhash >= 未知)

简介

此类封装了一个包含整数的集合。

集合也可以使用foreach进行迭代,因为Iterator接口也已实现。返回元素的顺序不保证。

类概要

class QuickHashIntSet {
/* 常量 */
const int CHECK_FOR_DUPES = 1;
const int HASHER_NO_HASH = 256;
const int HASHER_JENKINS1 = 512;
const int HASHER_JENKINS2 = 1024;
/* 方法 */
public add(int $key): bool
public __construct(int $size, int $options = ?)
public delete(int $key): bool
public exists(int $key): bool
publicgetSize(): int
public static loadFromFile(string $filename, int $size = ?, int $options = ?): QuickHashIntSet
public static loadFromString(string $contents, int $size = ?, int $options = ?): QuickHashIntSet
public saveToFile(string $filename): void
}

预定义常量

QuickHashIntSet::CHECK_FOR_DUPES

如果启用,将重复元素添加到集合中(通过QuickHashIntSet::add()QuickHashIntSet::loadFromFile())会导致这些元素从集合中删除。这将占用额外的时间,因此仅在需要时使用。

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

禁用对内部集合结构使用PHP的内部内存管理器。启用此选项后,内部分配将不会计入memory_limit设置。

QuickHashIntSet::HASHER_NO_HASH

选择不使用散列函数,而仅仅使用模运算来查找桶列表索引。这并不比普通散列更快,并且会产生更多冲突。

QuickHashIntSet::HASHER_JENKINS1

这是将整数散列转换为桶列表索引的默认散列函数。

QuickHashIntSet::HASHER_JENKINS2

选择变体散列算法。

目录

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top