collections.Map
一种非线性数据结构。
文档中存在泛型的使用,涉及以下泛型标记符:
- K:Key,键
- V:Value,值
K和V类型都需为Sendable类型。
属性
元服务API:从API version 12 开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
名称 | 类型 | 只读 | 可选 | 说明 |
---|---|---|---|---|
size | number | 是 | 否 | Map的元素个数。 |
constructor
constructor(entries?: readonly (readonly [K, V])[] | null)
构造函数,用于创建ArkTS Map对象。
元服务API:从API version 12 开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
entries | [K, V][] | null | 否 | 键值对数组或其它可迭代对象。默认值为null,创建一个空Map对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
10200012 | The ArkTS Map's constructor cannot be directly invoked. |
示例:
// 正例1:
const myMap = new collections.Map<number, number>();
// 正例2:
const myMap = new collections.Map<number, string>([
[1, "one"],
[2, "two"],
[3, "three"],
]);
// 反例:
@Sendable
class SharedClass {
constructor() {
}
}
let sObj = new SharedClass();
const myMap1: collections.Map<number, SharedClass> = new collections.Map<number, SharedClass>([[1, sObj]]);
// Type arguments of generic "Sendable" type must be a "Sendable" data type (arkts-sendable-generic-types)
let obj = new Object();
const myMap2: collections.Map<number, Object> = new collections.Map<number, Object>([[1, obj]]);
entries
entries(): IterableIterator<[K, V]>
返回一个Map迭代器对象,该对象包含了此Map中的每个元素的[key, value]对。
元服务API:从API version 12 开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
---|---|
IterableIterator<[K, V]> | 返回一个Map迭代器对象。 |
错误码: