1.关于集合
(1)什么是集合
集合和数组类似,都是容器。
(2)特点
1.集合的大小不固定,启动后可以动态变化,类型也可以选择不固定。
2.集合非常适合元素个数不能确定,且需要做元素的增删操作的场景。
3.集合提供的种类特别丰富,功能也非常强大。
(3)集合类体系结构
2.Collection
(1)Collection集合常用API
(2)Collection集合的遍历方式
1.迭代器
格式:
2.foreach/增强for循环
概述:既可以遍历集合也可以遍历数组;其内部原理是一个Iterator迭代器,遍历集合相当于迭代器的简化写法;实现Iterator接口的类才可以使用迭代器和增强for,Collection接口已经实现了Iterator接口。
格式:
3.Iambda表达式
格式:
3.常见数据结构
(1)数据结构概述
1.数据结构是计算机底层存储,组织数据的方式。是指数据相互之间以什么方式排列在一起的。
2.通常情况下,合适的数据结构可以带来更高的运行或者存储效率。
3.常见的数据结构有:栈,队列,数组,链表,二叉树,二叉查找树,平衡二叉树,红黑树。
(2)栈,队列
1.栈的特点:后进先出,先进后出。
2.队列的特点:先进先出,后进后出。
(3)数组
1.概述:数组是一种查询快,增删慢的模型。
2.特点
(4)链表
1.特点
2.种类
单向链表
双向链表
(5)二叉树
1.结构
2.特点
(6)二叉查找树
1.概述:二叉查找树又称二叉排序树或者二叉搜索树,目的是提高检索数据的性能。
2.特点
(7)平衡二叉树
1.概述:平衡二叉树是在满足查找二叉树的大小规则下,让树尽可能矮小,以此提高查数据的性能。
2.要求:任意节点的左右两个子树的高度差不超过1,任意节点的左右两个子树都是一颗平衡二叉树。
3.注意
(7)红黑树
1.概述
2.规则
3.添加节点:添加的节点的颜色,可以是红色,也可以是黑色;默认用红色效率最高。
4.List系列集合
(1)List系列集合特点和特有方法
1.特点
2.特有方法
(2)List集合的遍历方式
1.迭代器 2.增强for循环 3. Lambda表达式 4.for循环(因为List集合存在索引)
(3)ArraysList集合的底层原理
(4)LinkedList集合的底层原理及特有方法
1.底层原理
2.特有方法
5.泛型深入
(1)泛型深入的概述与优势
1.概述
2.优势:统一数据类型;把运行时期的问题提前了编译期间,避免了强制类型转换可能出现的异常,因为编译阶段类型就能确定下来。
(2)自定义泛型类
1.概述
2.作用:编译阶段可以指定数据类型,类似于集合的作用。
3.原理:把出现泛型变量的地方全部替换为传输的真实数据类型。
(3)自定义泛型方法
1.概述
2.作用:方法中可以使用泛型接收一切实际类型的参数,方法更具备通用性。
3.原理:把出现泛型变量的地方全部替换为传输的真实数据类型。
(4)自定义泛型接口
1.概述
2.作用:泛型接口可以让实现类选择当前功能需要操作的数据类型。
3.原理:实现类可以在实现接口的时候传入自己操作的数据类型,这样重写的方法都将是针对于该类型的操作。
(5)泛型通配符?2,上下限
1.通配符
2.上下限
总结:集合是Java学习中非常重要的一部分,这一周主要学习了Collection集合,List系列集合。Set集合,Map集合并不是很了解,只能下周再写。