【鸿蒙 NEXT】HarmonyOS 容器
List
List和LinkedList相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。
推荐使用场景: 当需要频繁的插入删除时,推荐使用List高效操作。
ArrayList
推荐使用场景: 当需要频繁读取集合中的元素时,推荐使用ArrayList。
LinkedList
LinkedList和List相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。
LinkedList和ArrayList相比,插入数据效率LinkedList优于ArrayList,而查询效率ArrayList优于LinkedList。
推荐使用场景: 当需要频繁的插入删除时,推荐使用LinkedList高效操作。
Stack
Stack基于数组的数据结构实现,特点是先进后出,只能在一端进行数据的插入和删除。
Stack和Queue相比,Queue基于循环队列实现,只能在一端删除,另一端插入,而Stack都在一端操作。
推荐使用场景: 一般符合先进后出的场景可以使用Stack。
Queue
Queue的特点是先进先出,只能在头部删除元素,尾部增加元素。
Deque可以两端增删。
推荐使用场景: 一般符合先进先出的场景可以使用Queue。
Deque
double ended queue
Queue的特点是先进先出,只能在头部删除元素,尾部增加元素。
Deque可以两端增删。
推荐使用场景: 需要频繁在集合两端进行增删元素的操作时,推荐使用Deque。
HashSet
HashSet基于HashMap实现。在HashSet中,只对value对象进行处理。
推荐使用场景: 可以利用HashSet不重复的特性,当需要不重复的集合或需要去重某个集合的时候使用。
TreeSet
推荐使用场景: 一般需要存储有序集合的场景,可以使用TreeSet。
Map
PlainArray
推荐使用场景: 当需要存储key值为number类型的键值对时,可以使用PlainArray。
LightWeightMap
推荐使用场景: 当需要存取key-value键值对时,推荐使用占用内存更小的LightWeightMap。
HashMap
推荐使用场景: 需要快速存取、删除以及插入键值对数据时,推荐使用HashMap。
TreeMap
推荐使用场景: 一般需要存储有序键值对的场景,可以使用TreeMap。