数组:
把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,可以通过数组的下标直接读取数据
线性列表:
- 顺序表:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
- 链表:把逻辑上相邻的数据元素存储在物理上不一定相邻的存储单元中的存储结构。
二叉树:是 n
(n≥0
)个结点所构成的集合,它或为空树(n = 0
),或为非空树,对于非空树 T
哈希表:
HashMap
是一个散列集合,存储键值对的映射HashMap
实现了Map
接口,根据键的HashCode
值存储数据,具有很快的访问速度,最多允许一条记录的键为null
,不支持线程同步HashMap
是无序的,即不会记录插入的顺序HashMap
继承于AbstracMap
,实现了Map
、Cloneable
、java.io.Serializable
接口- 哈希表由数组+链表组成
- 当前元素的关键字,通过哈希函数映射到数组中的某个位置,通过数组下标一次定位就可以完成操作
- 使用链表解决哈希冲突,链表出现的越少,性能越高