java常用集合(概念篇)




ArrayList(数组)

-
- 元素的内存地址是连续的
- 每个元素都有索引
- 数组的内存地址就是首个元素的内存地址
- 每个元素所占位置的内存空间相等
LinkedList(双向链表)

-
- 每个元素储存自己上一个元素和下一个元素的内存地址
HashSet(哈希表)

-
- 数组和单项链表的融合
- 数组中的每一个元素储存的是每条单项链表的首个元素
- 单向链表的每一个元素储存了下一个元素的内存地址
TreeSet(自平衡二叉树)

-
- 每个元素可以有一个左子树,和一个右子树,这个元素相当于两个子树的根
- 存储数据时会与已存在的元素进行比较,小于这个元素的放到它的左子树中,大于它的放到它的右子树中
- 采用左根右的顺序遍历数据,遍历出的数据相当于自动升序
Map
-
- Map的键与Set是对应的,Set就相当于把值储存在Map的键中
- 用操作Set的方式操作Map的键,然后再根据键取出值
- 将Map的一个键值对变成一个对象储存在Set中,变成Set的一个元素,然后再操作Set
Vector
-
- 相当于是线程安全但是效率低的ArrayList
Hashtable
-
- 是Properties的父类
- 相当于是线程安全但是效率低的HashMap

浙公网安备 33010602011771号