1.集合概述
2.Collection集合的体系特点
3.Collection集合常用API
1.添加元素,添加成功返回true,失败返回false
2.清空集合的元素
3.判断集合是否为空,是空返回true,反之为false
4.获取集合的大小
5.判断集合中是否包含某个元素
6.删除某个元素 (如果有多个重复元素,默认删除前面的第一个!)
7.把集合转换成数组
8.把其中一个集合的元素全部导入到另外一个集合中去
4.Collection集合的遍历方式
4.1 方式一:迭代器
4.2 方式二:foreach/增强for循环
4.3 方式三:lambda表达式
5.Collection集合存储自定义类型的对象
①、定义一个电影类,定义一个集合存储电影对象
②、创建3个电影对象,封装相关数据,把3个对象存入到集合中去
③、遍历集合中的3个对象,输出相关信息
6.常见数据结构
6.1 数据结构概述、栈、队列
6.1.1 常见数据结构--栈
栈:后进先出,先进后出
(如:子弹匣,最后装进去的子弹,先发射出去)
6.1.2 常见数据结构--队列
队列:先进先出,后进后出
(如:排队叫号吃饭,先排上号的先吃饭,排号晚的,后吃饭)
6.2 数组
数组:适合查询元素,不适合增删元素 (元素在内存中是连续存储的,查询任意数据耗时相同)
6.3 链表
链表:每个元素结点包含当前结点数据值和下一结点的地址 (元素在内存中是不连续存储的)
6.4 二叉树、二叉查找树
6.4.1 二叉树
6.4.2 二叉查找树
6.5 平衡二叉树
平衡二叉树-左左 (要进行右旋)
平衡二叉树-左右 (先左旋再右旋)
平衡二叉树-右左 (先右旋再左旋)
6.6 红黑树
7.List系列集合
7.1 List集合特点、特有API
7.2 List集合的遍历方式小结
①、List集合的遍历方式 -- for循环
②、List集合的遍历方式 -- 迭代器
③、List集合的遍历方式 -- foreach
④、List集合的遍历方式 -- Lambda表达式
7.3 ArrayList集合的底层原理 (视频中少了这一节内容)
7.4 LinkedList集合的底层原理
LinkList完成一个队列:入队 + 出队 (先入队先出队,后入队后出队)
LinkList完成一个栈:入栈 + 出栈 (先入栈后出栈,后入栈先出栈)
8.补充知识:集合的并发修改异常问题
集合元素准备数据:
a.迭代器-遍历删除 (用ArrayList,遍历删除,不会报错)
b.foreach-遍历删除 (不能边遍历边删除,会出bug)
c.lambda表达式-遍历删除 (不能边遍历边删除,会出bug)
d.for循环-边遍历边删除 (必须从后面往前遍历,才不会遗漏)
9.补充知识:泛型深入
9.1 泛型的概述和优势
9.2 自定义泛型类
9.3 自定义泛型方法
9.4 自定义泛型接口
9.5 泛型通配符、上下限