Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
4e4373d4
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4e4373d4
编写于
5月 26, 2022
作者:
O
openharmony_ci
提交者:
Gitee
5月 26, 2022
浏览文件
操作
浏览文件
下载
差异文件
!4270 Add the description of the characteristics of the container class
Merge pull request !4270 from wangyong/fiveteenDocs
上级
50f26197
92cd551e
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
89 addition
and
0 deletion
+89
-0
zh-cn/application-dev/reference/apis/js-apis-arraylist.md
zh-cn/application-dev/reference/apis/js-apis-arraylist.md
+8
-0
zh-cn/application-dev/reference/apis/js-apis-deque.md
zh-cn/application-dev/reference/apis/js-apis-deque.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-hashmap.md
zh-cn/application-dev/reference/apis/js-apis-hashmap.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-hashset.md
zh-cn/application-dev/reference/apis/js-apis-hashset.md
+5
-0
zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md
.../application-dev/reference/apis/js-apis-lightweightmap.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-lightweightset.md
.../application-dev/reference/apis/js-apis-lightweightset.md
+9
-0
zh-cn/application-dev/reference/apis/js-apis-linkedlist.md
zh-cn/application-dev/reference/apis/js-apis-linkedlist.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-list.md
zh-cn/application-dev/reference/apis/js-apis-list.md
+5
-0
zh-cn/application-dev/reference/apis/js-apis-plainarray.md
zh-cn/application-dev/reference/apis/js-apis-plainarray.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-queue.md
zh-cn/application-dev/reference/apis/js-apis-queue.md
+5
-0
zh-cn/application-dev/reference/apis/js-apis-stack.md
zh-cn/application-dev/reference/apis/js-apis-stack.md
+5
-0
zh-cn/application-dev/reference/apis/js-apis-treemap.md
zh-cn/application-dev/reference/apis/js-apis-treemap.md
+7
-0
zh-cn/application-dev/reference/apis/js-apis-treeset.md
zh-cn/application-dev/reference/apis/js-apis-treeset.md
+5
-0
zh-cn/application-dev/reference/apis/js-apis-vector.md
zh-cn/application-dev/reference/apis/js-apis-vector.md
+5
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-arraylist.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,14 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
ArrayList是一种线性数据结构,底层基于数组实现。ArrayList会根据实际需要动态调整容量,每次扩容增加50%。
ArrayList和
[
Vector
](
js-apis-vector.md
)
相似,都是基于数组实现。它们都可以动态调整容量,但Vector每次扩容增加1倍。
ArrayList和
[
LinkedList
](
js-apis-linkedlist.md
)
相比,ArrayList的随机访问效率更高。但由于ArrayList的增删操作会影响数组内其他元素的移动,LinkedList的增加和删除操作效率更高。
**推荐使用场景:**
当需要频繁读取集合中的元素时,推荐使用ArrayList。
## 导入模块
```
ts
...
...
zh-cn/application-dev/reference/apis/js-apis-deque.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Deque(double ended queue)根据循环队列的数据结构实现,符合先进先出以及先进后出的特点,支持两端的元素插入和移除。Deque会根据实际需要动态调整容量,每次进行两倍扩容。
Deque和
[
Queue
](
js-apis-queue.md
)
相比,Queue的特点是先进先出,只能在头部删除元素,尾部增加元素。
与
[
Vector
](
js-apis-vector.md
)
相比,它们都支持在两端增删元素,但Deque不能进行中间插入的操作。对头部元素的插入删除效率高于Vector,而Vector访问元素的效率高于Deque。
**推荐使用场景:**
需要频繁在集合两端进行增删元素的操作时,推荐使用Deque。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-hashmap.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
HashMap底层使用数组+链表+红黑树的方式实现,查询、插入和删除的效率都很高。HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value。
HashMap和
[
TreeMap
](
js-apis-treemap.md
)
相比,HashMap依据键的hashCode存取数据,访问速度较快。而TreeMap是有序存取,效率较低。
[
HashSet
](
js-apis-hashset.md
)
基于HashMap实现。HashMap的输入参数由key、value两个值组成。在HashSet中,只对value对象进行处理。
**推荐使用场景:**
需要快速存取、删除以及插入键值对数据时,推荐使用HashMap。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-hashset.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
HashSet基于
[
HashMap
](
js-apis-hashmap.md
)
实现。在HashSet中,只对value对象进行处理。
HashSet和
[
TreeSet
](
js-apis-treeset.md
)
相比,HashSet中的数据无序存放,即存放元素的顺序和取出的顺序不一致,而TreeSet是有序存放。它们集合中的元素都不允许重复,但HashSet允许放入null值,TreeSet不允许。
**推荐使用场景:**
可以利用HashSet不重复的特性,当需要不重复的集合或需要去重某个集合的时候使用。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
LightWeightMap可用于存储具有关联关系的key-value键值对集合,存储元素中key值唯一,每个key对应一个value。
LightWeightMap依据泛型定义,采用轻量级结构,集合中key值的查找依赖于hash算法,通过一个数组存储hash值,然后映射到其他数组中的key值及value值。
LightWeightMap和
[
HashMap
](
js-apis-hashmap.md
)
都是用来存储键值对的集合,LightWeightMap占用内存更小。
**推荐使用场景:**
当需要存取key-value键值对时,推荐使用占用内存更小的LightWeightMap。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-lightweightset.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,15 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
LightWeightSet可用于存储一系列值的集合,存储元素中value值唯一。
LightWeightSet依据泛型定义,采用轻量级结构,初始默认容量大小为8,每次扩容大小为原始容量的两倍。
集合中value值的查找依赖于hash算法,通过一个数组存储hash值,然后映射到其他数组中的value值。
LightWeightSet和
[
HashSet
](
js-apis-hashset.md
)
都是用来存储键值的集合,LightWeightSet的占用内存更小。
**推荐使用场景:**
当需要存取某个集合或是对某个集合去重时,推荐使用占用内存更小的LightWeightSet。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-linkedlist.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
LinkedList底层通过双向链表实现,双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时,可以从头遍历,也可以从尾部遍历,插入、删除效率高,查询效率低。LinkedList允许元素为null。
LinkedList和
[
List
](
js-apis-list.md
)
相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。
LinkedList和
[
ArrayList
](
js-apis-arraylist.md
)
相比,存取数据的效率不如ArrayList。
**推荐使用场景:**
当需要频繁的插入删除时,推荐使用LinkedList高效操作。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-list.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
List底层通过单向链表实现,每个节点有一个指向后一个元素的引用。当需要查询元素时,必须从头遍历,插入、删除效率高,查询效率低。LinkedList允许元素为null。
List和
[
LinkedList
](
js-apis-linkedlist.md
)
相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。
**推荐使用场景:**
当需要频繁的插入删除时,推荐使用List高效操作。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-plainarray.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
PlainArray可用于存储具有关联关系的key-value键值对集合,存储元素中key值唯一,key值类型为number类型,每个key对应一个value。
PlainArray依据泛型定义,采用轻量级结构,集合中key值的查找依赖于二分查找算法,然后映射到其他数组中的value值。
PlainArray和
[
LightWeightMap
](
js-apis-lightweightmap.md
)
都是用来存储键值对,且均采用轻量级结构,但PlainArray的key值类型只能为number类型。
**推荐使用场景:**
当需要存储key值为number类型的键值对时,可以使用PlainArray。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-queue.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Queue的特点是先进先出,在尾部增加元素,在头部删除元素。根据循环队列的数据结构实现。
Queue和
[
Deque
](
js-apis-deque.md
)
相比,Queue只能在一端删除一端增加,Deque可以两端增删。
**推荐使用场景:**
一般符合先进先出的场景可以使用Queue。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-stack.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Stack基于数组的数据结构实现,特点是先进后出,只能在一端进行数据的插入和删除。
Stack和
[
Queue
](
js-apis-queue.md
)
相比,Queue基于循环队列实现,只能在一端删除,另一端插入,而Stack都在一端操作。
**推荐使用场景:**
一般符合先进先出的场景可以使用Stack。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-treemap.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,13 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
TreeMap可用于存储具有关联关系的key-value键值对集合,存储元素中key值唯一,每个key对应一个value。
TreeMap底层使用红黑树实现,可以利用二叉树特性快速查找键值对。key值有序存储,可以实现快速的插入和删除。
TreeMap和
[
HashMap
](
js-apis-treemap.md
)
相比,HashMap依据键的hashCode存取数据,访问速度较快。而TreeMap是有序存取,效率较低。
**推荐使用场景:**
一般需要存储有序键值对的场景,可以使用TreeMap。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-treeset.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
TreeSet基于
[
TreeMap
](
js-apis-treemap.md
)
实现,在TreeSet中,只对value对象进行处理。TreeSet可用于存储一系列值的集合,元素中value唯一且有序。
TreeSet和
[
HashSet
](
js-apis-hashset.md
)
相比,HashSet中的数据无序存放,而TreeSet是有序存放。它们集合中的元素都不允许重复,但HashSet允许放入null值,TreeSet不允许。
**推荐使用场景:**
一般需要存储有序集合的场景,可以使用TreeSet。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-vector.md
浏览文件 @
4e4373d4
...
...
@@ -3,6 +3,11 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Vector是一种线性数据结构,底层基于数组实现。当Vector的内存用尽时,会自动分配更大的连续内存区,将原先的元素复制到新的内存区,并释放旧的内存区。使用Vector能够高效快速地访问元素。
Vector和
[
ArrayList
](
js-apis-arraylist.md
)
相似,都是基于数组实现,但Vector提供了更多操作数组的接口。它们都可以动态调整容量,但Vector每次扩容增加1倍,ArrayList只扩容0.5倍。
**推荐使用场景:**
当数据量大时,一般使用Vector来存取数据。
## 导入模块
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录