UnorderedSet

UnorderedSet 对象是一个容器,用于存储一个或多个唯一对象。它类似于 StringSet,除了它可以存储任何类型的变量(而不仅仅是字符串),并且内容不会按顺序保存(事实上,没有指定集合成员的顺序)。和 StringSet 一样,它使用字典系统查找成员,而不是数字索引。因此,你可以比通过线性搜索**矢量** 更快地查找成员。

你可以使用 DOpusFactory 对象创建一个新的 UnorderedSet

UnorderedSet 添加对象时应小心。与字符串和数字不同,容器只会将两个对象视为相等,如果它们是同一个对象(即相同的实例/引用)。具有相同值的不同对象不会被视为相等,并且可以同时存在于同一个 UnorderedSet 中。

JScript 示例:

var us = DOpus.Create.UnorderedSet();

us.insert("cat"); us.insert("cat"); // 无效,因为已插入 "cat"。 us.insert("dog"); us.insert(DOpus.FSUtil.NewPath("C:\")); us.insert(DOpus.FSUtil.NewPath("C:\")); // 插入另一个 C:\ 路径对象!

var p = DOpus.FSUtil.NewPath("D:\"); us.insert(p); us.insert(p); // 无效,因为已插入 p。

DOpus.Output("count: " + us.count);

for (var e = new Enumerator(us); !e.atEnd(); e.moveNext()) { DOpus.Output("Item: " + e.item()); }

它将输出以下内容(项目顺序可能有所不同):

count: 5 Item: cat Item: dog Item: D: Item: C: Item: C:\

属性名称返回类型说明

count

int

返回 UnorderedSet 当前包含的元素数量。

empty

bool

如果 UnorderedSet 为空,则返回 True;如果不为空,则返回 False

length

int

count 的同义词。

size

int

count 的同义词。

方法名称

参数

返回类型

说明

assign

<UnorderedSet:from>

none

将另一个 UnorderedSet 的内容复制到此 UnorderedSet。你还可以传递数组或 Vector 对象。

clear

none

none

清除 UnorderedSet 的内容。

erase

variant

none

如果元素存在于集合中,则将其删除。

exists

variant\

bool

如果指定元素存在于集合中,则返回 True

insert

variant

bool

如果元素不存在,则将其插入集合中。如果成功,则返回 True

merge

<UnorderedSet:from>

none

将另一个 UnorderedSet 的内容与当前 UnorderedSet 合并。

最后更新于