1e41f4b71Sopenharmony_ci# @ohos.util.LightWeightSet (非线性容器LightWeightSet) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciLightWeightSet可用于存储一系列值的集合,存储元素中value值唯一。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciLightWeightSet依据泛型定义,采用轻量级结构,初始默认容量大小为8,每次扩容大小为原始容量的两倍。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci集合中value值的查找依赖于hash算法,通过一个数组存储hash值,然后映射到其他数组中的value值。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciLightWeightSet和[HashSet](js-apis-hashset.md)都是用来存储键值的集合,LightWeightSet的占用内存更小。 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci**推荐使用场景:** 当需要存取某个集合或是对某个集合去重时,推荐使用占用内存更小的LightWeightSet。 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:<br> 14e41f4b71Sopenharmony_ci- T:Type,类 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci> **说明:** 17e41f4b71Sopenharmony_ci> 18e41f4b71Sopenharmony_ci> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci## 导入模块 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci```ts 24e41f4b71Sopenharmony_ciimport { LightWeightSet } from '@kit.ArkTS'; 25e41f4b71Sopenharmony_ci``` 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci## LightWeightSet 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci### 属性 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 36e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 37e41f4b71Sopenharmony_ci| length | number | 是 | 否 | LightWeightSet的元素个数。 | 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci### constructor 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ciconstructor() 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ciLightWeightSet的构造函数。 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci**错误码:** 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 55e41f4b71Sopenharmony_ci| -------- | -------- | 56e41f4b71Sopenharmony_ci| 10200012 | The LightWeightSet's constructor cannot be directly invoked. | 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci**示例:** 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci```ts 61e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<number | string> = new LightWeightSet(); 62e41f4b71Sopenharmony_ci``` 63e41f4b71Sopenharmony_ci 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci### isEmpty 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ciisEmpty(): boolean 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci判断该容器是否为空。 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**返回值:** 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci| 类型 | 说明 | 78e41f4b71Sopenharmony_ci| -------- | -------- | 79e41f4b71Sopenharmony_ci| boolean | 为空返回true,不为空返回false。 | 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci**错误码:** 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 86e41f4b71Sopenharmony_ci| -------- | -------- | 87e41f4b71Sopenharmony_ci| 10200011 | The isEmpty method cannot be bound. | 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**示例:** 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci```ts 92e41f4b71Sopenharmony_ciconst lightWeightSet: LightWeightSet<number> = new LightWeightSet(); 93e41f4b71Sopenharmony_cilet result = lightWeightSet.isEmpty(); 94e41f4b71Sopenharmony_ci``` 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci### add 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ciadd(obj: T): boolean 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci向此容器中添加数据。 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**参数:** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 109e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 110e41f4b71Sopenharmony_ci| obj | T | 是 | 添加的成员数据。 | 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**返回值:** 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci| 类型 | 说明 | 115e41f4b71Sopenharmony_ci| -------- | -------- | 116e41f4b71Sopenharmony_ci| boolean | 成功添加元素返回true,否则返回false。 | 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci**错误码:** 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 123e41f4b71Sopenharmony_ci| -------- | -------- | 124e41f4b71Sopenharmony_ci| 10200011 | The add method cannot be bound. | 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci**示例:** 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci```ts 129e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 130e41f4b71Sopenharmony_cilet result = lightWeightSet.add("squirrel"); 131e41f4b71Sopenharmony_ci``` 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci### addAll 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ciaddAll(set: LightWeightSet<T>): boolean 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci将另一个容器中的所有元素组添加到当前容器中。 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci**参数:** 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 147e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 148e41f4b71Sopenharmony_ci| set | LightWeightSet<T> | 是 | 提供添加元素的lightWeightSet。 | 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci**返回值:** 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| 类型 | 说明 | 153e41f4b71Sopenharmony_ci| -------- | -------- | 154e41f4b71Sopenharmony_ci| boolean | 成功添加元素返回true,否则返回false。 | 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci**错误码:** 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 161e41f4b71Sopenharmony_ci| -------- | -------- | 162e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 163e41f4b71Sopenharmony_ci| 10200011 | The addAll method cannot be bound. | 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ci**示例:** 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci```ts 168e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 169e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 170e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 171e41f4b71Sopenharmony_cilet set: LightWeightSet<string> = new LightWeightSet(); 172e41f4b71Sopenharmony_ciset.add("gull"); 173e41f4b71Sopenharmony_cilet result = lightWeightSet.addAll(set); 174e41f4b71Sopenharmony_ci``` 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci### hasAll 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_cihasAll(set: LightWeightSet<T>): boolean 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci判断此容器中是否含有该指定set中的所有元素。 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci**参数:** 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 190e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 191e41f4b71Sopenharmony_ci| set | LightWeightSet<T> | 是 | 比较对象。 | 192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci**返回值:** 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci| 类型 | 说明 | 196e41f4b71Sopenharmony_ci| -------- | -------- | 197e41f4b71Sopenharmony_ci| boolean | 包含所有元素返回true,否则返回false。 | 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci**错误码:** 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 202e41f4b71Sopenharmony_ci 203e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 204e41f4b71Sopenharmony_ci| -------- | -------- | 205e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 206e41f4b71Sopenharmony_ci| 10200011 | The hasAll method cannot be bound. | 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci**示例:** 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci```ts 211e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 212e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 213e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 214e41f4b71Sopenharmony_cilet set: LightWeightSet<string> = new LightWeightSet(); 215e41f4b71Sopenharmony_ciset.add("sparrow"); 216e41f4b71Sopenharmony_cilet result = lightWeightSet.hasAll(set); 217e41f4b71Sopenharmony_ci``` 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci### has 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_cihas(key: T): boolean 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci判断此容器中是否含有该指定key。 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci**参数:** 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 233e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 234e41f4b71Sopenharmony_ci| key | T | 是 | 指定key | 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci**返回值:** 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci| 类型 | 说明 | 239e41f4b71Sopenharmony_ci| -------- | -------- | 240e41f4b71Sopenharmony_ci| boolean | 包含指定key返回true,否则返回false。 | 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci**错误码:** 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 247e41f4b71Sopenharmony_ci| -------- | -------- | 248e41f4b71Sopenharmony_ci| 10200011 | The has method cannot be bound. | 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci**示例:** 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci```ts 253e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<number> = new LightWeightSet(); 254e41f4b71Sopenharmony_cilightWeightSet.add(123); 255e41f4b71Sopenharmony_cilet result = lightWeightSet.has(123); 256e41f4b71Sopenharmony_ci``` 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci### increaseCapacityTo 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ciincreaseCapacityTo(minimumCapacity: number): void 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci将当前LightWeightSet扩容至可以容纳指定数量元素。如果传入的容量值大于或等于当前LightWeightSet中的元素个数,将容量变更为新容量,小于则不会变更。 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci**参数:** 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 272e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 273e41f4b71Sopenharmony_ci| minimumCapacity | number | 是 | 需要容纳的元素数量。 | 274e41f4b71Sopenharmony_ci 275e41f4b71Sopenharmony_ci**错误码:** 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 280e41f4b71Sopenharmony_ci| -------- | -------- | 281e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 282e41f4b71Sopenharmony_ci| 10200001 | The value of minimumCapacity is out of range. | 283e41f4b71Sopenharmony_ci| 10200011 | The increaseCapacityTo method cannot be bound. | 284e41f4b71Sopenharmony_ci 285e41f4b71Sopenharmony_ci**示例:** 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci```ts 288e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 289e41f4b71Sopenharmony_cilightWeightSet.increaseCapacityTo(10); 290e41f4b71Sopenharmony_ci``` 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci 293e41f4b71Sopenharmony_ci### getIndexOf 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_cigetIndexOf(key: T): number 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci获取指定key所对应的下标。 298e41f4b71Sopenharmony_ci 299e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 300e41f4b71Sopenharmony_ci 301e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 302e41f4b71Sopenharmony_ci 303e41f4b71Sopenharmony_ci**参数:** 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 306e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 307e41f4b71Sopenharmony_ci| key | T | 是 | 查找的指定key。 | 308e41f4b71Sopenharmony_ci 309e41f4b71Sopenharmony_ci**返回值:** 310e41f4b71Sopenharmony_ci 311e41f4b71Sopenharmony_ci| 类型 | 说明 | 312e41f4b71Sopenharmony_ci| -------- | -------- | 313e41f4b71Sopenharmony_ci| number | 在lightWeightSet中指定数据的下标。若lightWeightSet中没有要查找的元素,则返回一个负值。表示目标哈希值应该插入的位置,插入位置是从1开始计数的,负号表示这是一个插入位置而不是索引。 | 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci**错误码:** 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 320e41f4b71Sopenharmony_ci| -------- | -------- | 321e41f4b71Sopenharmony_ci| 10200011 | The getIndexOf method cannot be bound. | 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci**示例:** 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_ci```ts 326e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 327e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 328e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 329e41f4b71Sopenharmony_cilet result = lightWeightSet.getIndexOf("sparrow"); 330e41f4b71Sopenharmony_ci``` 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci### remove 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ciremove(key: T): T 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci删除并返回指定key对应的元素。 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci**参数:** 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 346e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 347e41f4b71Sopenharmony_ci| key | T | 是 | 指定key。 | 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci**返回值:** 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci| 类型 | 说明 | 352e41f4b71Sopenharmony_ci| -------- | -------- | 353e41f4b71Sopenharmony_ci| T | 返回删除元素的值。 | 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci**错误码:** 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 360e41f4b71Sopenharmony_ci| -------- | -------- | 361e41f4b71Sopenharmony_ci| 10200011 | The remove method cannot be bound. | 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci**示例:** 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci```ts 366e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 367e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 368e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 369e41f4b71Sopenharmony_cilet result = lightWeightSet.remove("sparrow"); 370e41f4b71Sopenharmony_ci``` 371e41f4b71Sopenharmony_ci 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci### removeAt 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ciremoveAt(index: number): boolean 376e41f4b71Sopenharmony_ci 377e41f4b71Sopenharmony_ci删除指定下标所对应的元素。 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 382e41f4b71Sopenharmony_ci 383e41f4b71Sopenharmony_ci**参数:** 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 386e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 387e41f4b71Sopenharmony_ci| index | number | 是 | 指定下标。需要小于等于int32_max即2147483647。 | 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci**返回值:** 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci| 类型 | 说明 | 392e41f4b71Sopenharmony_ci| -------- | -------- | 393e41f4b71Sopenharmony_ci| boolean | 确认是否成功删除元素,成功删除元素返回true,否则返回false。 | 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci**错误码:** 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 400e41f4b71Sopenharmony_ci| -------- | -------- | 401e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 402e41f4b71Sopenharmony_ci| 10200011 | The removeAt method cannot be bound. | 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci**示例:** 405e41f4b71Sopenharmony_ci 406e41f4b71Sopenharmony_ci```ts 407e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 408e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 409e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 410e41f4b71Sopenharmony_cilet result = lightWeightSet.removeAt(1); 411e41f4b71Sopenharmony_ci``` 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci 414e41f4b71Sopenharmony_ci### getValueAt 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_cigetValueAt(index: number): T 417e41f4b71Sopenharmony_ci 418e41f4b71Sopenharmony_ci获取此容器中指定下标对应的元素。 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 421e41f4b71Sopenharmony_ci 422e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 423e41f4b71Sopenharmony_ci 424e41f4b71Sopenharmony_ci**参数:** 425e41f4b71Sopenharmony_ci 426e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 427e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 428e41f4b71Sopenharmony_ci| index | number | 是 | 指定下标。需要小于等于int32_max即2147483647。 | 429e41f4b71Sopenharmony_ci 430e41f4b71Sopenharmony_ci**返回值:** 431e41f4b71Sopenharmony_ci 432e41f4b71Sopenharmony_ci| 类型 | 说明 | 433e41f4b71Sopenharmony_ci| -------- | -------- | 434e41f4b71Sopenharmony_ci| T | 返回指定下标对应的元素。 | 435e41f4b71Sopenharmony_ci 436e41f4b71Sopenharmony_ci**错误码:** 437e41f4b71Sopenharmony_ci 438e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 439e41f4b71Sopenharmony_ci 440e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 441e41f4b71Sopenharmony_ci| -------- | -------- | 442e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 443e41f4b71Sopenharmony_ci| 10200011 | The getValueAt method cannot be bound. | 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**参数:** 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci```ts 448e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 449e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 450e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 451e41f4b71Sopenharmony_cilet result = lightWeightSet.getValueAt(1); 452e41f4b71Sopenharmony_ci``` 453e41f4b71Sopenharmony_ci 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_ci### clear 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ciclear(): void 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci清除容器中的所有元素,并把length置为0。 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci**错误码:** 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 470e41f4b71Sopenharmony_ci| -------- | -------- | 471e41f4b71Sopenharmony_ci| 10200011 | The clear method cannot be bound. | 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_ci**示例:** 474e41f4b71Sopenharmony_ci 475e41f4b71Sopenharmony_ci```ts 476e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 477e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 478e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 479e41f4b71Sopenharmony_cilightWeightSet.clear(); 480e41f4b71Sopenharmony_ci``` 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ci### toString 484e41f4b71Sopenharmony_ci 485e41f4b71Sopenharmony_citoString(): String 486e41f4b71Sopenharmony_ci 487e41f4b71Sopenharmony_ci获取包含容器中所有键和值的字符串。 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci**返回值:** 494e41f4b71Sopenharmony_ci 495e41f4b71Sopenharmony_ci| 类型 | 说明 | 496e41f4b71Sopenharmony_ci| -------- | -------- | 497e41f4b71Sopenharmony_ci| String | 返回对应字符串。 | 498e41f4b71Sopenharmony_ci 499e41f4b71Sopenharmony_ci**示例:** 500e41f4b71Sopenharmony_ci 501e41f4b71Sopenharmony_ci```ts 502e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 503e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 504e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 505e41f4b71Sopenharmony_cilet result = lightWeightSet.toString(); 506e41f4b71Sopenharmony_ci``` 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci 509e41f4b71Sopenharmony_ci### toArray 510e41f4b71Sopenharmony_ci 511e41f4b71Sopenharmony_citoArray(): Array<T> 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ci获取包含此容器中所有对象的数组。 514e41f4b71Sopenharmony_ci 515e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 516e41f4b71Sopenharmony_ci 517e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 518e41f4b71Sopenharmony_ci 519e41f4b71Sopenharmony_ci**返回值:** 520e41f4b71Sopenharmony_ci 521e41f4b71Sopenharmony_ci| 类型 | 说明 | 522e41f4b71Sopenharmony_ci| -------- | -------- | 523e41f4b71Sopenharmony_ci| Array<T> | 返回对应数组。 | 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ci**错误码:** 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 528e41f4b71Sopenharmony_ci 529e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 530e41f4b71Sopenharmony_ci| -------- | -------- | 531e41f4b71Sopenharmony_ci| 10200011 | The toArray method cannot be bound. | 532e41f4b71Sopenharmony_ci 533e41f4b71Sopenharmony_ci**示例:** 534e41f4b71Sopenharmony_ci 535e41f4b71Sopenharmony_ci```ts 536e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 537e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 538e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 539e41f4b71Sopenharmony_cilet result = lightWeightSet.toArray(); 540e41f4b71Sopenharmony_ci``` 541e41f4b71Sopenharmony_ci 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci### values 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_civalues(): IterableIterator<T> 546e41f4b71Sopenharmony_ci 547e41f4b71Sopenharmony_ci返回包含此映射中包含的键值的新迭代器对象。 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**返回值:** 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci| 类型 | 说明 | 556e41f4b71Sopenharmony_ci| -------- | -------- | 557e41f4b71Sopenharmony_ci| IterableIterator<T> | 返回一个迭代器。 | 558e41f4b71Sopenharmony_ci 559e41f4b71Sopenharmony_ci**错误码:** 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 562e41f4b71Sopenharmony_ci 563e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 564e41f4b71Sopenharmony_ci| -------- | -------- | 565e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound. | 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_ci**示例:** 568e41f4b71Sopenharmony_ci 569e41f4b71Sopenharmony_ci```ts 570e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 571e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 572e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 573e41f4b71Sopenharmony_cilet iter = lightWeightSet.values(); 574e41f4b71Sopenharmony_cilet index = 0; 575e41f4b71Sopenharmony_ciwhile(index < lightWeightSet.length) { 576e41f4b71Sopenharmony_ci console.log(JSON.stringify(iter.next().value)); 577e41f4b71Sopenharmony_ci index++; 578e41f4b71Sopenharmony_ci} 579e41f4b71Sopenharmony_ci``` 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci 582e41f4b71Sopenharmony_ci### forEach 583e41f4b71Sopenharmony_ci 584e41f4b71Sopenharmony_ciforEach(callbackFn: (value?: T, key?: T, set?: LightWeightSet<T>) => void, thisArg?: Object): void 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ci通过回调函数来遍历LightWeightSet实例对象上的元素以及元素对应的下标。 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 589e41f4b71Sopenharmony_ci 590e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci**参数:** 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 595e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 596e41f4b71Sopenharmony_ci| callbackFn | function | 是 | 回调函数。 | 597e41f4b71Sopenharmony_ci| thisArg | Object | 否 | callbackfn被调用时用作this值,默认值为当前实例对象。 | 598e41f4b71Sopenharmony_ci 599e41f4b71Sopenharmony_cicallbackfn的参数说明: 600e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 601e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 602e41f4b71Sopenharmony_ci| value | T | 否 | 当前遍历到的元素键值对的值,默认值为首个键值对的值。 | 603e41f4b71Sopenharmony_ci| key | T | 否 | 当前遍历到的元素键值对的键(和value相同),默认值为首个键值对的键。 | 604e41f4b71Sopenharmony_ci| set | LightWeightSet<T> | 否 | 当前调用forEach方法的实例对象,默认值为当前实例对象。 | 605e41f4b71Sopenharmony_ci 606e41f4b71Sopenharmony_ci**错误码:** 607e41f4b71Sopenharmony_ci 608e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 609e41f4b71Sopenharmony_ci 610e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 611e41f4b71Sopenharmony_ci| -------- | -------- | 612e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 613e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound. | 614e41f4b71Sopenharmony_ci 615e41f4b71Sopenharmony_ci**示例:** 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ci```ts 618e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 619e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 620e41f4b71Sopenharmony_cilightWeightSet.add("gull"); 621e41f4b71Sopenharmony_cilightWeightSet.forEach((value ?: string, key ?: string) => { 622e41f4b71Sopenharmony_ci console.log("value:" + value, "key:" + key); 623e41f4b71Sopenharmony_ci}); 624e41f4b71Sopenharmony_ci``` 625e41f4b71Sopenharmony_ci```ts 626e41f4b71Sopenharmony_ci// 不建议在forEach函数中使用add、remove、removeAt方法,会导致死循环等不可预知的风险,可使用for循环来进行插入和删除。 627e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 628e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 629e41f4b71Sopenharmony_ci lightWeightSet.add(i + "123"); 630e41f4b71Sopenharmony_ci} 631e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 632e41f4b71Sopenharmony_ci lightWeightSet.remove(i + "123"); 633e41f4b71Sopenharmony_ci} 634e41f4b71Sopenharmony_ci``` 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci### entries 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_cientries(): IterableIterator<[T, T]> 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ci返回包含此映射中包含的键值对的新迭代器对象。 641e41f4b71Sopenharmony_ci 642e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 643e41f4b71Sopenharmony_ci 644e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 645e41f4b71Sopenharmony_ci 646e41f4b71Sopenharmony_ci**返回值:** 647e41f4b71Sopenharmony_ci 648e41f4b71Sopenharmony_ci| 类型 | 说明 | 649e41f4b71Sopenharmony_ci| -------- | -------- | 650e41f4b71Sopenharmony_ci| IterableIterator<[T, T]> | 返回一个迭代器。 | 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ci**错误码:** 653e41f4b71Sopenharmony_ci 654e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 657e41f4b71Sopenharmony_ci| -------- | -------- | 658e41f4b71Sopenharmony_ci| 10200011 | The entries method cannot be bound. | 659e41f4b71Sopenharmony_ci 660e41f4b71Sopenharmony_ci**示例:** 661e41f4b71Sopenharmony_ci 662e41f4b71Sopenharmony_ci```ts 663e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 664e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 665e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 666e41f4b71Sopenharmony_cilet iter = lightWeightSet.entries(); 667e41f4b71Sopenharmony_cilet index = 0; 668e41f4b71Sopenharmony_ciwhile(index < lightWeightSet.length) { 669e41f4b71Sopenharmony_ci console.log(JSON.stringify(iter.next().value)); 670e41f4b71Sopenharmony_ci index++; 671e41f4b71Sopenharmony_ci} 672e41f4b71Sopenharmony_ci``` 673e41f4b71Sopenharmony_ci```ts 674e41f4b71Sopenharmony_ci// 不建议在entries中使用add、remove、removeAt方法,会导致死循环等不可预知的风险,可使用for循环来进行插入和删除。 675e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 676e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 677e41f4b71Sopenharmony_ci lightWeightSet.add(i + "123"); 678e41f4b71Sopenharmony_ci} 679e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 680e41f4b71Sopenharmony_ci lightWeightSet.remove(i + "123"); 681e41f4b71Sopenharmony_ci} 682e41f4b71Sopenharmony_ci``` 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci### [Symbol.iterator] 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<T> 687e41f4b71Sopenharmony_ci 688e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 689e41f4b71Sopenharmony_ci 690e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci**返回值:** 695e41f4b71Sopenharmony_ci 696e41f4b71Sopenharmony_ci| 类型 | 说明 | 697e41f4b71Sopenharmony_ci| -------- | -------- | 698e41f4b71Sopenharmony_ci| IterableIterator<T> | 返回一个迭代器。 | 699e41f4b71Sopenharmony_ci 700e41f4b71Sopenharmony_ci**错误码:** 701e41f4b71Sopenharmony_ci 702e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 705e41f4b71Sopenharmony_ci| -------- | -------- | 706e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. | 707e41f4b71Sopenharmony_ci 708e41f4b71Sopenharmony_ci**示例:** 709e41f4b71Sopenharmony_ci 710e41f4b71Sopenharmony_ci```ts 711e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 712e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 713e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 714e41f4b71Sopenharmony_ci 715e41f4b71Sopenharmony_ci// 使用方法一: 716e41f4b71Sopenharmony_cilet nums: Array<string> = lightWeightSet.toArray() 717e41f4b71Sopenharmony_cifor (let item of nums) { 718e41f4b71Sopenharmony_ci console.log("value:" + item); 719e41f4b71Sopenharmony_ci} 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci// 使用方法二: 722e41f4b71Sopenharmony_cilet iter = lightWeightSet[Symbol.iterator](); 723e41f4b71Sopenharmony_cilet temp: IteratorResult<string> = iter.next(); 724e41f4b71Sopenharmony_ciwhile(!temp.done) { 725e41f4b71Sopenharmony_ci console.log("value:" + temp.value); 726e41f4b71Sopenharmony_ci temp = iter.next(); 727e41f4b71Sopenharmony_ci} 728e41f4b71Sopenharmony_ci``` 729e41f4b71Sopenharmony_ci```ts 730e41f4b71Sopenharmony_ci// 不建议在Symbol.iterator中使用add、remove、removeAt方法,会导致死循环等不可预知的风险,可使用for循环来进行插入和删除。 731e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 732e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 733e41f4b71Sopenharmony_ci lightWeightSet.add(i + "123"); 734e41f4b71Sopenharmony_ci} 735e41f4b71Sopenharmony_cifor(let i = 0; i < 10; i++) { 736e41f4b71Sopenharmony_ci lightWeightSet.remove(i + "123"); 737e41f4b71Sopenharmony_ci} 738e41f4b71Sopenharmony_ci``` 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ci### equal<sup>(deprecated)</sup> 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ciequal(obj: Object): boolean 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci判断此容器与obj的构成元素是否相同。 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci> **说明:** 748e41f4b71Sopenharmony_ci> 749e41f4b71Sopenharmony_ci> 此接口从API version 10开始支持,从API version 12开始废弃。无替代接口。 750e41f4b71Sopenharmony_ci 751e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 752e41f4b71Sopenharmony_ci 753e41f4b71Sopenharmony_ci**参数:** 754e41f4b71Sopenharmony_ci 755e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 756e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 757e41f4b71Sopenharmony_ci| obj | Object | 是 | 比较对象。 | 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ci**返回值:** 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci| 类型 | 说明 | 762e41f4b71Sopenharmony_ci| -------- | -------- | 763e41f4b71Sopenharmony_ci| boolean | 当obj为仅含string或number的LightWeightSet或数组,且对象内部元素构成相同时,返回true;其它情况返回false。 | 764e41f4b71Sopenharmony_ci 765e41f4b71Sopenharmony_ci**错误码:** 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 770e41f4b71Sopenharmony_ci| -------- | -------- | 771e41f4b71Sopenharmony_ci| 10200011 | The equal method cannot be bound. | 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ci**示例:** 774e41f4b71Sopenharmony_ci 775e41f4b71Sopenharmony_ci```ts 776e41f4b71Sopenharmony_cilet lightWeightSet: LightWeightSet<string> = new LightWeightSet(); 777e41f4b71Sopenharmony_cilightWeightSet.add("squirrel"); 778e41f4b71Sopenharmony_cilightWeightSet.add("sparrow"); 779e41f4b71Sopenharmony_cilet obj = ["sparrow", "squirrel"]; 780e41f4b71Sopenharmony_cilet result = lightWeightSet.equal(obj); 781e41f4b71Sopenharmony_ci```