往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
@ohos.util.LinkedList (线性容器LinkedList)
LinkedList底层通过双向链表实现,双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时,可以从头遍历,也可以从尾部遍历,插入、删除效率高,查询效率低。LinkedList允许元素为null。
LinkedList和List相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。
LinkedList和ArrayList相比,插入数据效率LinkedList优于ArrayList,而查询效率ArrayList优于LinkedList。
注意
在LinkedList中使用[index]的方式虽然能够获取对应位置的元素,但这会导致未定义结果。推荐使用get()方法。
推荐使用场景: 当需要频繁的插入删除元素,并且需要使用双向链表时,推荐使用LinkedList高效操作。
文档中存在泛型的使用,涉及以下泛型标记符:
- T: Type,类
说明
本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { LinkedList } from '@kit.ArkTS';
LinkedList
属性
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
| 名称 | 类型 | 可读 | 可写 | 说明 |
|---|---|---|---|---|
| length | number | 是 | 否 | LinkedList的元素个数。 |
constructor
constructor()
LinkedList的构造函数。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
错误码:
以下错误码的详细介绍。
| 错误码ID | 错误信息 |
|---|---|
| 10200012 | The LinkedList's constructor cannot be directly invoked. |
示例:
let linkedList: LinkedList<string | number | boolean | object> = new LinkedList();
add
add(element: T): boolean
在LinkedList尾部插入元素。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| element | T | 是 | 待插入的元素。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 插入成功返回true,否则返回false。 |
错误码:
以下错误码的详细介绍。
| 错误码ID | 错误信息 |
|---|---|
| 10200011 | The add method cannot be bound. |
示例:
let linkedList: LinkedList<string | number | boolean | object> = new LinkedList();
let result = linkedList.add("a");
let result1 = linkedList.add(1);
let b = [1, 2, 3];
let result2 = linkedList.add(b);
class C {
name: string = ''
age: string = ''
}
let c: C = {name : "Dylan", age : "13"};
let result3 = linkedList.add(c);
let result4 = linkedList.add(false);
addFirst
addFirst(element: T): void
在LinkedList头部插入元素。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| e |

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



