java集合框架
java集合框架认知
- ArrayList
- HashSet
- HashMap
为什么学集合
变量—>数组---->集合
- 集合是“动态”数组,长度可以改变
- 集合提供了更多样的存储结构(key–value)
java集合框架认知
java集合分4个体系
- Collection集合
- Map集合
- Queue队列
- Collections 集合工具类
不同集合的特点不同
- 能否重复
- 是否有序
Collection体系集合
ArrayaList:数组存储结构—非线程安全,效率高
Vector:数组的存储结构—线程安全,效率低
LinkedList:双向链表结构----遍历时效率低,增加删除效率高
每个元素除了存储值,还需存储上,下元素的地址
【特点】:遍历效率低,增加,删除元素效率高。
深入学习:
-
源码解析
ArrayList底层是数组,默认大小10,如果范围不足,则创建新数组–大小为1.5倍。
-
集合排序
Collections.sort();//字符串,数值
如果存放的是对象
排序方式1:
Collections.sort(list,排序规则)
排序规则 :
new Comparator(){}
排序方式2:
类去实现Comparable<>----CompareTo接口
Collections
集合操作的工具类,里面封装了操作集合的一些方法
sort(List,排序规则)
重写compare方法Comparator类shuffle(对象名)
—打乱顺序reverse(对象名)
----倒置
小结
- List接口存放数据的特点:有序 可重复
- 三个实现类的区别
- 常见操作方法:添加 插入 删除 遍历等
- 排序:两种排序方式
Set集合的应用
存放数据的特点:无序,唯一
总结
-
Collection框架组成
-
List接口及其实现类
-
Set及实现类
-
重点:集合排序
Set集合重写hashCode及equals方法