1.结合架构
1.单列集合(Collestion)
1.架构
2.List和Set的区别(顺序是存元素和取元素的排序)
3.内部的方法
1.add方法细节
2.remove方法细节
3.contain方法的细节(在对象实体类中重写equal)
4.迭代器
1.迭代器遍历
注意的细节
2.增强for遍历
注意细节
3.Lambda遍历
5.总结
6.List集合
1.特点
2.特有方法
注意细节
3.特有的遍历方式
除了单列集合的三种遍历方式,还有两种分别是普通for遍历和列表迭代器
4.ArrayList
底层原理:
第一次添加元素的时候:
添加元素超过原来数组的大小的时候
5.LinkedList
此api用的比较少了解就好
LinkedList第一次添加元素的时候
6.迭代器
7.set集合
1.特点:index=(length-1)&hashcode
2.HashSet
底层原理
注意点
五个问题
3.LinkHashSet(它的爹是HashSet,双向链表保持存取有序,效率低)
4.TreeSet
特点
默认规则:多个字母的时候是从第一个开始比较
两种比较规则
1.自然排序底层原理(每比较一次就要调用一次compareTo方法)
2.比较器排序
简写方式
3.总结
8.单列集合的使用场景(set底层原理其实是map)
2.数据结构
1.概述
2.栈
3.队列
4.数组
5.链表
双向链表可以提高查询的效率,要是查询第几个元素,首先会判断这个元素的地址距离头节点位置进还是尾节点距离近,从而达到从头开始找还是从尾部开始查找
底层源码
6.普通二叉树
内部结构
7.二叉查找树
内部结构
添加数据的规则
1.前序遍历
2.中序遍历
3.后续遍历
4.层次遍历
5.总结
6.弊端
顺序插入的时候会变成链表,降低查询效率
8.平衡二叉树
注意是树的高度差
旋转机制
1.左旋
2.右旋
3.发生旋转的四种情况
4.弊端:添加元素旋转有点浪费时间
9.红黑树
1.规则
3.泛型
1.概述
2.好处
3.细节
4.泛型类
5.泛型方法
6.泛型接口
4.双列集合
1.特点
2.常用的API
put方法的细节
3.遍历的方式
1.键找值
2.键值对
3.Lambda
4.HashMap
1.特点
2.小结
3.源码分析
5.LinkedHashMap
特点
6.几个面试题
7.可变参数
注意细节
总结