1e41f4b71Sopenharmony_ci# @ohos.util.LinkedList (线性容器LinkedList) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciLinkedList底层通过双向链表实现,双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时,可以从头遍历,也可以从尾部遍历,插入、删除效率高,查询效率低。LinkedList允许元素为null。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciLinkedList和[List](js-apis-list.md)相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciLinkedList和[ArrayList](js-apis-arraylist.md)相比,插入数据效率LinkedList优于ArrayList,而查询效率ArrayList优于LinkedList。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci> **注意:** 10e41f4b71Sopenharmony_ci> 11e41f4b71Sopenharmony_ci> 在LinkedList中使用\[index\]的方式虽然能够获取对应位置的元素,但这会导致未定义结果。推荐使用get()方法。 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**推荐使用场景:** 当需要频繁的插入删除时,推荐使用LinkedList高效操作。 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:<br> 16e41f4b71Sopenharmony_ci- T: Type,类 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci> **说明:** 19e41f4b71Sopenharmony_ci> 20e41f4b71Sopenharmony_ci> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci## 导入模块 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci```ts 26e41f4b71Sopenharmony_ciimport { LinkedList } from '@kit.ArkTS'; 27e41f4b71Sopenharmony_ci``` 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci## LinkedList 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci### 属性 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 38e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 39e41f4b71Sopenharmony_ci| length | number | 是 | 否 | LinkedList的元素个数。 | 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci### constructor 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ciconstructor() 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ciLinkedList的构造函数。 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci**错误码:** 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 57e41f4b71Sopenharmony_ci| -------- | -------- | 58e41f4b71Sopenharmony_ci| 10200012 | The LinkedList's constructor cannot be directly invoked. | 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci**示例:** 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci```ts 64e41f4b71Sopenharmony_cilet linkedList: LinkedList<string | number | boolean | object> = new LinkedList(); 65e41f4b71Sopenharmony_ci``` 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci### add 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ciadd(element: T): boolean 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci在LinkedList尾部插入元素。 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci**参数:** 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 81e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 82e41f4b71Sopenharmony_ci| element | T | 是 | 待插入的元素。 | 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci**返回值:** 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci| 类型 | 说明 | 87e41f4b71Sopenharmony_ci| -------- | -------- | 88e41f4b71Sopenharmony_ci| boolean | 插入成功返回true,否则返回false。 | 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci**错误码:** 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 95e41f4b71Sopenharmony_ci| -------- | -------- | 96e41f4b71Sopenharmony_ci| 10200011 | The add method cannot be bound. | 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci**示例:** 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci```ts 101e41f4b71Sopenharmony_cilet linkedList: LinkedList<string | number | boolean | object> = new LinkedList(); 102e41f4b71Sopenharmony_cilet result = linkedList.add("a"); 103e41f4b71Sopenharmony_cilet result1 = linkedList.add(1); 104e41f4b71Sopenharmony_cilet b = [1, 2, 3]; 105e41f4b71Sopenharmony_cilet result2 = linkedList.add(b); 106e41f4b71Sopenharmony_ciclass C { 107e41f4b71Sopenharmony_ci name: string = '' 108e41f4b71Sopenharmony_ci age: string = '' 109e41f4b71Sopenharmony_ci} 110e41f4b71Sopenharmony_cilet c: C = {name : "Dylan", age : "13"}; 111e41f4b71Sopenharmony_cilet result3 = linkedList.add(c); 112e41f4b71Sopenharmony_cilet result4 = linkedList.add(false); 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci### addFirst 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ciaddFirst(element: T): void 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci在LinkedList头部插入元素。 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci**参数:** 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 128e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 129e41f4b71Sopenharmony_ci| element | T | 是 | 待插入的元素。 | 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci**错误码:** 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 136e41f4b71Sopenharmony_ci| -------- | -------- | 137e41f4b71Sopenharmony_ci| 10200011 | The addFirst method cannot be bound. | 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci**示例:** 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci```ts 142e41f4b71Sopenharmony_cilet linkedList: LinkedList<string | number | boolean | object> = new LinkedList(); 143e41f4b71Sopenharmony_cilinkedList.addFirst("a"); 144e41f4b71Sopenharmony_cilinkedList.addFirst(1); 145e41f4b71Sopenharmony_cilet b = [1, 2, 3]; 146e41f4b71Sopenharmony_cilinkedList.addFirst(b); 147e41f4b71Sopenharmony_ciclass C { 148e41f4b71Sopenharmony_ci name: string = '' 149e41f4b71Sopenharmony_ci age: string = '' 150e41f4b71Sopenharmony_ci} 151e41f4b71Sopenharmony_cilet c: C = {name : "Dylan", age : "13"}; 152e41f4b71Sopenharmony_cilinkedList.addFirst(c); 153e41f4b71Sopenharmony_cilinkedList.addFirst(false); 154e41f4b71Sopenharmony_ci``` 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci### insert 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ciinsert(index: number, element: T): void 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci在长度范围内任意插入指定元素。 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci**参数:** 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 169e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 170e41f4b71Sopenharmony_ci| index | number | 是 | 插入位置索引。需要小于等于int32_max即2147483647。 | 171e41f4b71Sopenharmony_ci| element | T | 是 | 插入元素。 | 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci**错误码:** 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 178e41f4b71Sopenharmony_ci| -------- | -------- | 179e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 180e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range. | 181e41f4b71Sopenharmony_ci| 10200011 | The insert method cannot be bound. | 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci**示例:** 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci```ts 186e41f4b71Sopenharmony_cilet linkedList: LinkedList<string | number | boolean | object> = new LinkedList(); 187e41f4b71Sopenharmony_cilinkedList.insert(0, "A"); 188e41f4b71Sopenharmony_cilinkedList.insert(1, 0); 189e41f4b71Sopenharmony_cilinkedList.insert(2, true); 190e41f4b71Sopenharmony_ci``` 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci### has 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_cihas(element: T): boolean 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci判断此LinkedList中是否含有该指定元素。 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_ci**参数:** 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 205e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 206e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci**返回值:** 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci| 类型 | 说明 | 211e41f4b71Sopenharmony_ci| -------- | -------- | 212e41f4b71Sopenharmony_ci| boolean | 包含指定元素返回true,否则返回false。 | 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci**错误码:** 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 219e41f4b71Sopenharmony_ci| -------- | -------- | 220e41f4b71Sopenharmony_ci| 10200011 | The has method cannot be bound. | 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci**示例:** 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci```ts 225e41f4b71Sopenharmony_cilet linkedList: LinkedList<string> = new LinkedList(); 226e41f4b71Sopenharmony_cilinkedList.add("squirrel"); 227e41f4b71Sopenharmony_cilet result = linkedList.has("squirrel"); 228e41f4b71Sopenharmony_ci``` 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci### get 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ciget(index: number): T 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci根据下标获取LinkedList中的元素。 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ci**参数:** 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 243e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 244e41f4b71Sopenharmony_ci| index | number | 是 | 指定的下标值。需要小于等于int32_max即2147483647。 | 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci**返回值:** 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci| 类型 | 说明 | 249e41f4b71Sopenharmony_ci| -------- | -------- | 250e41f4b71Sopenharmony_ci| T | 根据下标查找到的元素,元素不存在返回undefined。 | 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci**错误码:** 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 257e41f4b71Sopenharmony_ci| -------- | -------- | 258e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 259e41f4b71Sopenharmony_ci| 10200011 | The get method cannot be bound. | 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci**示例:** 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci```ts 264e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 265e41f4b71Sopenharmony_cilinkedList.add(2); 266e41f4b71Sopenharmony_cilinkedList.add(4); 267e41f4b71Sopenharmony_cilinkedList.add(5); 268e41f4b71Sopenharmony_cilinkedList.add(2); 269e41f4b71Sopenharmony_cilinkedList.add(1); 270e41f4b71Sopenharmony_cilinkedList.add(2); 271e41f4b71Sopenharmony_cilinkedList.add(4); 272e41f4b71Sopenharmony_cilet result = linkedList.get(2); 273e41f4b71Sopenharmony_ci``` 274e41f4b71Sopenharmony_ci 275e41f4b71Sopenharmony_ci### getLastIndexOf 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_cigetLastIndexOf(element: T): number 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ci返回指定元素最后一次出现时的下标值,查找失败返回-1。 280e41f4b71Sopenharmony_ci 281e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 282e41f4b71Sopenharmony_ci 283e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 284e41f4b71Sopenharmony_ci 285e41f4b71Sopenharmony_ci**参数:** 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 288e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 289e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci**返回值:** 292e41f4b71Sopenharmony_ci 293e41f4b71Sopenharmony_ci| 类型 | 说明 | 294e41f4b71Sopenharmony_ci| -------- | -------- | 295e41f4b71Sopenharmony_ci| number | 返回指定元素最后一次出现时的下标值,查找失败返回-1。 | 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci**错误码:** 298e41f4b71Sopenharmony_ci 299e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 300e41f4b71Sopenharmony_ci 301e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 302e41f4b71Sopenharmony_ci| -------- | -------- | 303e41f4b71Sopenharmony_ci| 10200011 | The getLastIndexOf method cannot be bound. | 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci**示例:** 306e41f4b71Sopenharmony_ci 307e41f4b71Sopenharmony_ci```ts 308e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 309e41f4b71Sopenharmony_cilinkedList.add(2); 310e41f4b71Sopenharmony_cilinkedList.add(4); 311e41f4b71Sopenharmony_cilinkedList.add(5); 312e41f4b71Sopenharmony_cilinkedList.add(2); 313e41f4b71Sopenharmony_cilinkedList.add(1); 314e41f4b71Sopenharmony_cilinkedList.add(2); 315e41f4b71Sopenharmony_cilinkedList.add(4); 316e41f4b71Sopenharmony_cilet result = linkedList.getLastIndexOf(2); 317e41f4b71Sopenharmony_ci``` 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci### getIndexOf 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_cigetIndexOf(element: T): number 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci返回指定元素第一次出现时的下标值,查找失败返回-1。 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci**参数:** 330e41f4b71Sopenharmony_ci 331e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 332e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 333e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ci**返回值:** 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci| 类型 | 说明 | 338e41f4b71Sopenharmony_ci| -------- | -------- | 339e41f4b71Sopenharmony_ci| number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 | 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci**错误码:** 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 346e41f4b71Sopenharmony_ci| -------- | -------- | 347e41f4b71Sopenharmony_ci| 10200011 | The getIndexOf method cannot be bound. | 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci**示例:** 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci```ts 352e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 353e41f4b71Sopenharmony_cilinkedList.add(2); 354e41f4b71Sopenharmony_cilinkedList.add(4); 355e41f4b71Sopenharmony_cilinkedList.add(5); 356e41f4b71Sopenharmony_cilinkedList.add(2); 357e41f4b71Sopenharmony_cilinkedList.add(1); 358e41f4b71Sopenharmony_cilinkedList.add(2); 359e41f4b71Sopenharmony_cilinkedList.add(4); 360e41f4b71Sopenharmony_cilet result = linkedList.getIndexOf(2); 361e41f4b71Sopenharmony_ci``` 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci### removeByIndex 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ciremoveByIndex(index: number): T 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_ci根据元素的下标值查找元素,并将其删除。 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci**参数:** 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 376e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 377e41f4b71Sopenharmony_ci| index | number | 是 | 指定元素的下标值。需要小于等于int32_max即2147483647。 | 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**返回值:** 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci| 类型 | 说明 | 382e41f4b71Sopenharmony_ci| -------- | -------- | 383e41f4b71Sopenharmony_ci| T | 返回删除的元素,如果为空返回undefined。 | 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci**错误码:** 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 390e41f4b71Sopenharmony_ci| -------- | -------- | 391e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 392e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range. | 393e41f4b71Sopenharmony_ci| 10200011 | The removeByIndex method cannot be bound. | 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci**示例:** 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci```ts 398e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 399e41f4b71Sopenharmony_cilinkedList.add(2); 400e41f4b71Sopenharmony_cilinkedList.add(4); 401e41f4b71Sopenharmony_cilinkedList.add(5); 402e41f4b71Sopenharmony_cilinkedList.add(2); 403e41f4b71Sopenharmony_cilinkedList.add(4); 404e41f4b71Sopenharmony_cilet result = linkedList.removeByIndex(2); 405e41f4b71Sopenharmony_ci``` 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci### removeFirst 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ciremoveFirst(): T 410e41f4b71Sopenharmony_ci 411e41f4b71Sopenharmony_ci删除并返回LinkedList的第一个元素。 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci**返回值:** 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci| 类型 | 说明 | 420e41f4b71Sopenharmony_ci| -------- | -------- | 421e41f4b71Sopenharmony_ci| T | 返回删除的元素。 | 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ci**错误码:** 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 428e41f4b71Sopenharmony_ci| -------- | -------- | 429e41f4b71Sopenharmony_ci| 10200010 | Container is empty. | 430e41f4b71Sopenharmony_ci| 10200011 | The removeFirst method cannot be bound. | 431e41f4b71Sopenharmony_ci 432e41f4b71Sopenharmony_ci**示例:** 433e41f4b71Sopenharmony_ci 434e41f4b71Sopenharmony_ci```ts 435e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 436e41f4b71Sopenharmony_cilinkedList.add(2); 437e41f4b71Sopenharmony_cilinkedList.add(4); 438e41f4b71Sopenharmony_cilinkedList.add(5); 439e41f4b71Sopenharmony_cilinkedList.add(2); 440e41f4b71Sopenharmony_cilinkedList.add(4); 441e41f4b71Sopenharmony_cilet result = linkedList.removeFirst(); 442e41f4b71Sopenharmony_ci``` 443e41f4b71Sopenharmony_ci 444e41f4b71Sopenharmony_ci### removeLast 445e41f4b71Sopenharmony_ci 446e41f4b71Sopenharmony_ciremoveLast(): T 447e41f4b71Sopenharmony_ci 448e41f4b71Sopenharmony_ci删除并返回LinkedList的最后一个元素。 449e41f4b71Sopenharmony_ci 450e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 451e41f4b71Sopenharmony_ci 452e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 453e41f4b71Sopenharmony_ci 454e41f4b71Sopenharmony_ci**返回值:** 455e41f4b71Sopenharmony_ci 456e41f4b71Sopenharmony_ci| 类型 | 说明 | 457e41f4b71Sopenharmony_ci| -------- | -------- | 458e41f4b71Sopenharmony_ci| T | 返回删除的元素。 | 459e41f4b71Sopenharmony_ci 460e41f4b71Sopenharmony_ci**错误码:** 461e41f4b71Sopenharmony_ci 462e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 463e41f4b71Sopenharmony_ci 464e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 465e41f4b71Sopenharmony_ci| -------- | -------- | 466e41f4b71Sopenharmony_ci| 10200010 | Container is empty. | 467e41f4b71Sopenharmony_ci| 10200011 | The removeLast method cannot be bound. | 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci**示例:** 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci```ts 472e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 473e41f4b71Sopenharmony_cilinkedList.add(2); 474e41f4b71Sopenharmony_cilinkedList.add(4); 475e41f4b71Sopenharmony_cilinkedList.add(5); 476e41f4b71Sopenharmony_cilinkedList.add(2); 477e41f4b71Sopenharmony_cilinkedList.add(4); 478e41f4b71Sopenharmony_cilet result = linkedList.removeLast(); 479e41f4b71Sopenharmony_ci``` 480e41f4b71Sopenharmony_ci 481e41f4b71Sopenharmony_ci### remove 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ciremove(element: T): boolean 484e41f4b71Sopenharmony_ci 485e41f4b71Sopenharmony_ci删除查找到的第一个指定的元素。 486e41f4b71Sopenharmony_ci 487e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**参数:** 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 494e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 495e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 496e41f4b71Sopenharmony_ci 497e41f4b71Sopenharmony_ci**返回值:** 498e41f4b71Sopenharmony_ci 499e41f4b71Sopenharmony_ci| 类型 | 说明 | 500e41f4b71Sopenharmony_ci| -------- | -------- | 501e41f4b71Sopenharmony_ci| boolean | 删除成功返回true,否则返回false。 | 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ci**错误码:** 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 506e41f4b71Sopenharmony_ci 507e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 508e41f4b71Sopenharmony_ci| -------- | -------- | 509e41f4b71Sopenharmony_ci| 10200011 | The remove method cannot be bound. | 510e41f4b71Sopenharmony_ci 511e41f4b71Sopenharmony_ci**示例:** 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ci```ts 514e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 515e41f4b71Sopenharmony_cilinkedList.add(2); 516e41f4b71Sopenharmony_cilinkedList.add(4); 517e41f4b71Sopenharmony_cilinkedList.add(5); 518e41f4b71Sopenharmony_cilinkedList.add(4); 519e41f4b71Sopenharmony_cilet result = linkedList.remove(2); 520e41f4b71Sopenharmony_ci``` 521e41f4b71Sopenharmony_ci 522e41f4b71Sopenharmony_ci### removeFirstFound 523e41f4b71Sopenharmony_ci 524e41f4b71Sopenharmony_ciremoveFirstFound(element: T): boolean 525e41f4b71Sopenharmony_ci 526e41f4b71Sopenharmony_ci删除第一次出现的指定元素。 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci**参数:** 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 535e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 536e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ci**返回值:** 539e41f4b71Sopenharmony_ci 540e41f4b71Sopenharmony_ci| 类型 | 说明 | 541e41f4b71Sopenharmony_ci| -------- | -------- | 542e41f4b71Sopenharmony_ci| boolean | 删除成功返回true,删除失败或不存在该元素时返回false。 | 543e41f4b71Sopenharmony_ci 544e41f4b71Sopenharmony_ci**错误码:** 545e41f4b71Sopenharmony_ci 546e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 549e41f4b71Sopenharmony_ci| -------- | -------- | 550e41f4b71Sopenharmony_ci| 10200010 | Container is empty. | 551e41f4b71Sopenharmony_ci| 10200011 | The removeFirstFound method cannot be bound. | 552e41f4b71Sopenharmony_ci| 10200017 | The element does not exist in this container. | 553e41f4b71Sopenharmony_ci 554e41f4b71Sopenharmony_ci**示例:** 555e41f4b71Sopenharmony_ci 556e41f4b71Sopenharmony_ci```ts 557e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 558e41f4b71Sopenharmony_cilinkedList.add(2); 559e41f4b71Sopenharmony_cilinkedList.add(4); 560e41f4b71Sopenharmony_cilinkedList.add(5); 561e41f4b71Sopenharmony_cilinkedList.add(4); 562e41f4b71Sopenharmony_cilet result = linkedList.removeFirstFound(4); 563e41f4b71Sopenharmony_ci``` 564e41f4b71Sopenharmony_ci 565e41f4b71Sopenharmony_ci### removeLastFound 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_ciremoveLastFound(element: T): boolean 568e41f4b71Sopenharmony_ci 569e41f4b71Sopenharmony_ci删除最后一次出现的指定元素。 570e41f4b71Sopenharmony_ci 571e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 572e41f4b71Sopenharmony_ci 573e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci**参数:** 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 578e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 579e41f4b71Sopenharmony_ci| element | T | 是 | 指定元素。 | 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci**返回值:** 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci| 类型 | 说明 | 584e41f4b71Sopenharmony_ci| -------- | -------- | 585e41f4b71Sopenharmony_ci| boolean | 删除成功返回true,删除失败或不存在该元素时返回false。 | 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci**错误码:** 588e41f4b71Sopenharmony_ci 589e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 590e41f4b71Sopenharmony_ci 591e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 592e41f4b71Sopenharmony_ci| -------- | -------- | 593e41f4b71Sopenharmony_ci| 10200010 | Container is empty. | 594e41f4b71Sopenharmony_ci| 10200011 | The removeLastFound method cannot be bound. | 595e41f4b71Sopenharmony_ci| 10200017 | The element does not exist in this container. | 596e41f4b71Sopenharmony_ci 597e41f4b71Sopenharmony_ci**示例:** 598e41f4b71Sopenharmony_ci 599e41f4b71Sopenharmony_ci```ts 600e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 601e41f4b71Sopenharmony_cilinkedList.add(2); 602e41f4b71Sopenharmony_cilinkedList.add(4); 603e41f4b71Sopenharmony_cilinkedList.add(5); 604e41f4b71Sopenharmony_cilinkedList.add(4); 605e41f4b71Sopenharmony_cilet result = linkedList.removeLastFound(4); 606e41f4b71Sopenharmony_ci``` 607e41f4b71Sopenharmony_ci 608e41f4b71Sopenharmony_ci### clone 609e41f4b71Sopenharmony_ci 610e41f4b71Sopenharmony_ciclone(): LinkedList<T> 611e41f4b71Sopenharmony_ci 612e41f4b71Sopenharmony_ci克隆一个与LinkedList相同的实例,并返回克隆后的实例。修改克隆后的实例并不会影响原实例。 613e41f4b71Sopenharmony_ci 614e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 615e41f4b71Sopenharmony_ci 616e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 617e41f4b71Sopenharmony_ci 618e41f4b71Sopenharmony_ci**返回值:** 619e41f4b71Sopenharmony_ci 620e41f4b71Sopenharmony_ci| 类型 | 说明 | 621e41f4b71Sopenharmony_ci| -------- | -------- | 622e41f4b71Sopenharmony_ci| LinkedList<T> | 返回LinkedList对象实例。 | 623e41f4b71Sopenharmony_ci 624e41f4b71Sopenharmony_ci**错误码:** 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 627e41f4b71Sopenharmony_ci 628e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 629e41f4b71Sopenharmony_ci| -------- | -------- | 630e41f4b71Sopenharmony_ci| 10200011 | The clone method cannot be bound. | 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci**示例:** 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci```ts 635e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 636e41f4b71Sopenharmony_cilinkedList.add(2); 637e41f4b71Sopenharmony_cilinkedList.add(4); 638e41f4b71Sopenharmony_cilinkedList.add(5); 639e41f4b71Sopenharmony_cilinkedList.add(4); 640e41f4b71Sopenharmony_cilet result = linkedList.clone(); 641e41f4b71Sopenharmony_ci``` 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci### forEach 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ciforEach(callbackFn: (value: T, index?: number, LinkedList?: LinkedList<T>) => void, 646e41f4b71Sopenharmony_cithisArg?: Object): void 647e41f4b71Sopenharmony_ci 648e41f4b71Sopenharmony_ci通过回调函数来遍历LinkedList实例对象上的元素以及元素对应的下标。 649e41f4b71Sopenharmony_ci 650e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 653e41f4b71Sopenharmony_ci 654e41f4b71Sopenharmony_ci**参数:** 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 657e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 658e41f4b71Sopenharmony_ci| callbackFn | function | 是 | 回调函数。 | 659e41f4b71Sopenharmony_ci| thisArg | Object | 否 | callbackfn被调用时用作this值,默认值为当前实例对象。 | 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_cicallbackfn的参数说明: 662e41f4b71Sopenharmony_ci 663e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 664e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 665e41f4b71Sopenharmony_ci| value | T | 是 | 当前遍历到的元素。 | 666e41f4b71Sopenharmony_ci| index | number | 否 | 当前遍历到的下标值,默认值为0。 | 667e41f4b71Sopenharmony_ci| LinkedList | LinkedList<T> | 否 | 当前调用forEach方法的实例对象,默认值为当前实例对象。 | 668e41f4b71Sopenharmony_ci 669e41f4b71Sopenharmony_ci**错误码:** 670e41f4b71Sopenharmony_ci 671e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 672e41f4b71Sopenharmony_ci 673e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 674e41f4b71Sopenharmony_ci| -------- | -------- | 675e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 676e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound. | 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci**示例:** 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci```ts 681e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 682e41f4b71Sopenharmony_cilinkedList.add(2); 683e41f4b71Sopenharmony_cilinkedList.add(4); 684e41f4b71Sopenharmony_cilinkedList.add(5); 685e41f4b71Sopenharmony_cilinkedList.add(4); 686e41f4b71Sopenharmony_cilinkedList.forEach((value: number, index?: number) => { 687e41f4b71Sopenharmony_ci console.log("value:" + value, "index:" + index); 688e41f4b71Sopenharmony_ci}); 689e41f4b71Sopenharmony_ci``` 690e41f4b71Sopenharmony_ci 691e41f4b71Sopenharmony_ci### clear 692e41f4b71Sopenharmony_ci 693e41f4b71Sopenharmony_ciclear(): void 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_ci清除LinkedList中的所有元素,并把length置为0。 696e41f4b71Sopenharmony_ci 697e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 698e41f4b71Sopenharmony_ci 699e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 700e41f4b71Sopenharmony_ci 701e41f4b71Sopenharmony_ci**错误码:** 702e41f4b71Sopenharmony_ci 703e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 704e41f4b71Sopenharmony_ci 705e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 706e41f4b71Sopenharmony_ci| -------- | -------- | 707e41f4b71Sopenharmony_ci| 10200011 | The clear method cannot be bound. | 708e41f4b71Sopenharmony_ci 709e41f4b71Sopenharmony_ci**示例:** 710e41f4b71Sopenharmony_ci 711e41f4b71Sopenharmony_ci```ts 712e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 713e41f4b71Sopenharmony_cilinkedList.add(2); 714e41f4b71Sopenharmony_cilinkedList.add(4); 715e41f4b71Sopenharmony_cilinkedList.add(5); 716e41f4b71Sopenharmony_cilinkedList.add(4); 717e41f4b71Sopenharmony_cilinkedList.clear(); 718e41f4b71Sopenharmony_ci``` 719e41f4b71Sopenharmony_ci 720e41f4b71Sopenharmony_ci### set 721e41f4b71Sopenharmony_ci 722e41f4b71Sopenharmony_ciset(index: number, element: T): T 723e41f4b71Sopenharmony_ci 724e41f4b71Sopenharmony_ci将此LinkedList中指定位置的元素替换为指定元素。 725e41f4b71Sopenharmony_ci 726e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 727e41f4b71Sopenharmony_ci 728e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci**参数:** 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 733e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 734e41f4b71Sopenharmony_ci| index | number | 是 | 查找的下标值。需要小于等于int32_max即2147483647。 | 735e41f4b71Sopenharmony_ci| element | T | 是 | 用来替换的元素。 | 736e41f4b71Sopenharmony_ci 737e41f4b71Sopenharmony_ci**返回值:** 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci| 类型 | 说明 | 740e41f4b71Sopenharmony_ci| -------- | -------- | 741e41f4b71Sopenharmony_ci| T | 返回替换后的元素,如果为空返回undefined。 | 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ci**错误码:** 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 748e41f4b71Sopenharmony_ci| -------- | -------- | 749e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 750e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range. | 751e41f4b71Sopenharmony_ci| 10200011 | The set method cannot be bound. | 752e41f4b71Sopenharmony_ci 753e41f4b71Sopenharmony_ci**示例:** 754e41f4b71Sopenharmony_ci 755e41f4b71Sopenharmony_ci```ts 756e41f4b71Sopenharmony_cilet linkedList: LinkedList<number | string> = new LinkedList(); 757e41f4b71Sopenharmony_cilinkedList.add(2); 758e41f4b71Sopenharmony_cilinkedList.add(4); 759e41f4b71Sopenharmony_cilinkedList.add(5); 760e41f4b71Sopenharmony_cilinkedList.add(4); 761e41f4b71Sopenharmony_cilet result = linkedList.set(2, "b"); 762e41f4b71Sopenharmony_ci``` 763e41f4b71Sopenharmony_ci 764e41f4b71Sopenharmony_ci### convertToArray 765e41f4b71Sopenharmony_ci 766e41f4b71Sopenharmony_ciconvertToArray(): Array<T> 767e41f4b71Sopenharmony_ci 768e41f4b71Sopenharmony_ci把当前LinkedList实例转换成数组,并返回转换后的数组。 769e41f4b71Sopenharmony_ci 770e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 771e41f4b71Sopenharmony_ci 772e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 773e41f4b71Sopenharmony_ci 774e41f4b71Sopenharmony_ci**返回值:** 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci| 类型 | 说明 | 777e41f4b71Sopenharmony_ci| -------- | -------- | 778e41f4b71Sopenharmony_ci| Array<T> | 返回转换后的数组。 | 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci**错误码:** 781e41f4b71Sopenharmony_ci 782e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 783e41f4b71Sopenharmony_ci 784e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 785e41f4b71Sopenharmony_ci| -------- | -------- | 786e41f4b71Sopenharmony_ci| 10200011 | The convertToArray method cannot be bound. | 787e41f4b71Sopenharmony_ci 788e41f4b71Sopenharmony_ci**示例:** 789e41f4b71Sopenharmony_ci```ts 790e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 791e41f4b71Sopenharmony_cilinkedList.add(2); 792e41f4b71Sopenharmony_cilinkedList.add(4); 793e41f4b71Sopenharmony_cilinkedList.add(5); 794e41f4b71Sopenharmony_cilinkedList.add(4); 795e41f4b71Sopenharmony_cilet result = linkedList.convertToArray(); 796e41f4b71Sopenharmony_ci``` 797e41f4b71Sopenharmony_ci 798e41f4b71Sopenharmony_ci### getFirst 799e41f4b71Sopenharmony_ci 800e41f4b71Sopenharmony_cigetFirst(): T 801e41f4b71Sopenharmony_ci 802e41f4b71Sopenharmony_ci获取LinkedList实例中的第一个元素。 803e41f4b71Sopenharmony_ci 804e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 805e41f4b71Sopenharmony_ci 806e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 807e41f4b71Sopenharmony_ci 808e41f4b71Sopenharmony_ci**返回值:** 809e41f4b71Sopenharmony_ci 810e41f4b71Sopenharmony_ci| 类型 | 说明 | 811e41f4b71Sopenharmony_ci| -------- | -------- | 812e41f4b71Sopenharmony_ci| T | 返回对应元素,如果元素为空返回undefined。 | 813e41f4b71Sopenharmony_ci 814e41f4b71Sopenharmony_ci**错误码:** 815e41f4b71Sopenharmony_ci 816e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 817e41f4b71Sopenharmony_ci 818e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 819e41f4b71Sopenharmony_ci| -------- | -------- | 820e41f4b71Sopenharmony_ci| 10200011 | The getFirst method cannot be bound. | 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ci**示例:** 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ci```ts 825e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 826e41f4b71Sopenharmony_cilinkedList.add(2); 827e41f4b71Sopenharmony_cilinkedList.add(4); 828e41f4b71Sopenharmony_cilinkedList.add(5); 829e41f4b71Sopenharmony_cilinkedList.add(4); 830e41f4b71Sopenharmony_cilet result = linkedList.getFirst(); 831e41f4b71Sopenharmony_ci``` 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci### getLast 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_cigetLast(): T 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci获取LinkedList实例中的最后一个元素。 838e41f4b71Sopenharmony_ci 839e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 840e41f4b71Sopenharmony_ci 841e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 842e41f4b71Sopenharmony_ci 843e41f4b71Sopenharmony_ci**返回值:** 844e41f4b71Sopenharmony_ci 845e41f4b71Sopenharmony_ci| 类型 | 说明 | 846e41f4b71Sopenharmony_ci| -------- | -------- | 847e41f4b71Sopenharmony_ci| T | 返回对应元素,如果为元素空返回undefined。 | 848e41f4b71Sopenharmony_ci 849e41f4b71Sopenharmony_ci**错误码:** 850e41f4b71Sopenharmony_ci 851e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 854e41f4b71Sopenharmony_ci| -------- | -------- | 855e41f4b71Sopenharmony_ci| 10200011 | The getLast method cannot be bound. | 856e41f4b71Sopenharmony_ci 857e41f4b71Sopenharmony_ci**示例:** 858e41f4b71Sopenharmony_ci 859e41f4b71Sopenharmony_ci```ts 860e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 861e41f4b71Sopenharmony_cilinkedList.add(2); 862e41f4b71Sopenharmony_cilinkedList.add(4); 863e41f4b71Sopenharmony_cilinkedList.add(5); 864e41f4b71Sopenharmony_cilinkedList.add(4); 865e41f4b71Sopenharmony_cilet result = linkedList.getLast(); 866e41f4b71Sopenharmony_ci``` 867e41f4b71Sopenharmony_ci 868e41f4b71Sopenharmony_ci### [Symbol.iterator] 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<T> 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci**返回值:** 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci| 类型 | 说明 | 881e41f4b71Sopenharmony_ci| -------- | -------- | 882e41f4b71Sopenharmony_ci| IterableIterator<T> | 返回一个迭代器。 | 883e41f4b71Sopenharmony_ci 884e41f4b71Sopenharmony_ci**错误码:** 885e41f4b71Sopenharmony_ci 886e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 887e41f4b71Sopenharmony_ci 888e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 889e41f4b71Sopenharmony_ci| -------- | -------- | 890e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. | 891e41f4b71Sopenharmony_ci 892e41f4b71Sopenharmony_ci**示例:** 893e41f4b71Sopenharmony_ci 894e41f4b71Sopenharmony_ci```ts 895e41f4b71Sopenharmony_cilet linkedList: LinkedList<number> = new LinkedList(); 896e41f4b71Sopenharmony_cilinkedList.add(2); 897e41f4b71Sopenharmony_cilinkedList.add(4); 898e41f4b71Sopenharmony_cilinkedList.add(5); 899e41f4b71Sopenharmony_cilinkedList.add(4); 900e41f4b71Sopenharmony_ci 901e41f4b71Sopenharmony_ci// 使用方法一: 902e41f4b71Sopenharmony_cilet items = Array.from(linkedList) 903e41f4b71Sopenharmony_cifor (let item of items) { 904e41f4b71Sopenharmony_ci console.log("value:" + item); 905e41f4b71Sopenharmony_ci} 906e41f4b71Sopenharmony_ci 907e41f4b71Sopenharmony_ci// 使用方法二: 908e41f4b71Sopenharmony_cilet iter = linkedList[Symbol.iterator](); 909e41f4b71Sopenharmony_cilet temp: IteratorResult<number> = iter.next(); 910e41f4b71Sopenharmony_ciwhile(!temp.done) { 911e41f4b71Sopenharmony_ci console.log("value:" + temp.value); 912e41f4b71Sopenharmony_ci temp = iter.next(); 913e41f4b71Sopenharmony_ci} 914e41f4b71Sopenharmony_ci```