day15_我的Java学习笔记 (Collection、数据结构、List、泛型深入)

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 泛型通配符、上下限










posted @ 2024-04-19 11:14  子沐呐吖  阅读(39)  评论(0)    收藏  举报