线性容器
- ArrayList:频繁读取集合中的元素时
- List:单向链表,需要频繁的插入删除时
- LinkedList:双向链表,需要频繁的插入删除时
- Deque:频繁在集合两端进行增删元素的操作时
- Queue:符合先进先出的场景
- Stack:符合先进后出的场景
非线性容器
- HashMap:快速存取、删除以及插入键值对数据时
- HashSet:利用HashSet不重复的特性,当需要不重复的集合或需要去重某个集合的时候使用
- TreeMap:需要存储有序键值对的场景
- TreeSet:需要存储有序集合的场景
- LightWeightMap:当需要存取key-value键值对时,推荐使用占用内存更小的LightWeightMap
- LightWeightSet:当需要存取某个集合或是对某个集合去重时,推荐使用占用内存更小的LightWeightSet
- PlainArray:需要存储key值为number类型的键值对时
collections.Array
collections.Map
collections.Set
collections.ConcatArray
collections.ArrayBuffer
collections.TypedArray
collections.BitVector
ArkTS容器并不是线程安全的,使用异步锁机制保障安全