deque.insertFront(‘a’);
deque.insertFront(1); // 增加元素
console.info(result: ${deque[0]}
); // 访问元素
deque[0] = ‘one’; // 修改元素
console.info(result: ${deque[0]}
);
// Stack
import Stack from ‘@ohos.util.Stack’; // 导入Stack模块
let stack = new Stack();
stack.push(‘a’);
stack.push(1); // 增加元素
console.info(result: ${stack[0]}
); // 访问元素
stack.pop(); // 删除栈顶元素并返回该删除元素
console.info(result: ${stack.length}
);
// List
import List from ‘@ohos.util.List’; // 导入List模块
let list = new List;
list.add(‘a’);
list.add(1);
let b2 = [1, 2, 3];
list.add(b2); // 增加元素
console.info(result: ${list[0]}
); // 访问元素
console.info(result: ${list.get(0)}
); // 访问元素
好像在预览模式下,效果不尽人意
2.非线性容器
🦋2.1 HashMap
HashMap是一个非常常用的集合类,用来存储键值对。它通过key的hashCode值来确定key的存储位置,从而实现快速查找。由于HashMap的实现采用了链表来解决冲突问题,所以当存在多个key的hashCode相同时,它们会被放在同一个链表中。这也是为什么HashMap可以存储多个值对应同一个key的原因。
HashMap的初始容量为16,当容量不足时,会自动进行扩容,每次扩容容量会变为原来的两倍。这样可以减少扩容的次数,提高性能。
🦋2.2 HashSet
HashSet内部使用了HashMap作为其底层数据结构,将元素存储在HashMap的key中,而HashMap的value则统一为一个固定的对象(称为PRESENT