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&lt;T&gt;
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&lt;T&gt; | 返回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&lt;T&gt;) => 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&lt;T&gt; | 否 | 当前调用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&lt;T&gt;
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&lt;T&gt; | 返回转换后的数组。 |
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&lt;T&gt;
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&lt;T&gt; | 返回一个迭代器。 |
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```