Bootstrap

鸿蒙HarmonyOS实战-ArkTS语言基础类库(容器类库)_鸿蒙 hashmap(1)

Queue的特性使得它在很多场景下都很有用,比如处理任务调度、消息队列、缓存等。实际上,很多编程语言都提供了Queue的实现,可以直接使用。

🦋2.7 Stack

Stack类可以用来创建栈对象,该栈对象按照先进后出的规则存储元素。

Stack类基于泛型定义,要求存储位置需要是一片连续的内存空间,初始容量大小为8,并且支持动态扩容。每次扩容大小是原始容量的1.5倍。Stack类底层基于数组实现,入栈和出栈操作都是在数组的一端进行。

Stack类和Queue类相比,Queue类基于循环队列实现,只能在一端进行删除操作,而在另一端进行插入操作。而Stack类则只在一端进行操作。

一般情况下,如果满足先进后出的场景,可以使用Stack类。

🦋2.8 线性容器的使用

// ArrayList
import ArrayList from ‘@ohos.util.ArrayList’; // 导入ArrayList模块

let arrayList = new ArrayList();
arrayList.add(‘a’);
arrayList.add(1); // 增加元素
console.info(result: ${arrayList[0]}); // 访问元素
arrayList[0] = ‘one’; // 修改元素
console.info(result: ${arrayList[0]});

// Vector
import Vector from ‘@ohos.util.Vector’; // 导入Vector模块

let vector = new Vector();
vector.add(‘a’);
let b1 = [1, 2, 3];
vector.add(b1);
vector.add(false); // 增加元素
console.info(result: ${vector[0]}); // 访问元素
console.info(result: ${vector.getFirstElement()}); // 访问元素

// Deque
import Deque from ‘@ohos.util.Deque’; // 导入Deque模块

let deque = new Deque;
deque.insertFront(‘a’);
deque.insertFront(1); // 增加元素
console.info(resu

;