03.Java之集合框架
2018-03-16 12:39:11 121 举报
AI智能生成
一张脑图囊括所有相关知识点系列,持续更新中...
作者其他创作
大纲/内容
Collection(I)
Set(I)
HashSet
- 特点
1.排列无序,不可重复
2.存储速度快
- 底层实现
1.使用Hash表实现元素的存储
2.底层是由HashMap实现的
- 使用方法
举例
- 其它扩展
LinkedHashSet
特点
1.优化了HashSet排列无序的问题
2.性能会略低于HashSet
底层实现
1.在HashSet的基础上加入了链式存储
2.采用双向链表记录插入顺序
使用方法
举例
TreeSet
- 特点
1.元素排列可定制,不可重复
2.可以方便的将元素排序存储
3.分为自然排序和定制排序
- 底层实现
1.是SortedSet接口的实现类
2.排序存储
3.使用二叉树实现
使用方法
举例
List(I)
ArrayList
- 特点
- 排列有序,可重复
2.速度快,增删慢
3.线程不安全
- 底层实现
1.默认为10个长度,当容量不够时,ArrayList是当前容量的*1.5+1
2.底层使用数组
- 使用方法
举例
Vector
- 特点
排列有序,可重复
底层使用数组
速度快,增删慢
线程安全,效率低
- 底层实现
当容量不够时,Vector默认扩展一倍容量
- 使用方法
举例
LinkedList
特点
排列有序,可重复
查询速度慢,增删快,add()和remove()方法快
线程不安全
底层实现
底层使用双向循环链表数据结构
同时实现了List接口和Queue接口
使用方法
举例
Queue(I)
在两端出入的List,所以也可以用数组或链表来实现
Map(I)
HashMap
特点
键不可重复,值可以重复
只允许一个key为null,value可以为null
线程不安全
底层实现
使用HashCode判断存放位置
引入负载极限和初始容量
实现方法
举例
HashTable
特点
键不可重复,值可重复
线程安全
key、value都不能是null
底层实现
使用HashCode判断存放位置
实现方法
举例
TreeMap
特点
键不可重复,值可重复
底层实现
底层二叉树
Collections工具类
排序操作
举例
查找替换操作
举例
同步控制
举例
设置不可变集合
0 条评论
下一页