学习目标
●泛型
○泛型的优势
○自定义泛型类,接口,方法
●数据结构
○栈结构
○队列结构
○数组结构
○链表结构
○树结构
○哈希表结构
●List集合
○List集合的特点
○List集合的实现类
○List集合的特有方法
●Set集合
○Set集合的特点
○Set集合的实现类
○Set集合的特有方法
1. 泛型
1.1 泛型的能解决什么问题 ?
在获取集合元素时,能对类型进行判断,避免了因为类型转换导致的错误。
2.2 如何使用泛型 ?
1.自定义泛型类:public class 类名<泛型名>{}
2自定义泛型接口:public interface 接口名<泛型名>{}
3.自定义泛型方法:修饰符 <泛型名> 返回值类型 方法名(参数类别){}
2 集合
2.1 List集合Set集合的区别在于哪里 ?
特点 | 实现类 | 实现类(补) | |
---|---|---|---|
List集合 | 有序,有索引,元素可重复 | ArrayList类:数组结构,查询快,增删慢 | LinkedList类:双向链表,查询慢,增删快 |
Set集合 | 无序,无索引,元素唯一 | HashSet类:哈希表结构,可以保证元素唯一,要想保证元素唯一储存元素所在类型必须重写hashCode和equals方法 | LinkedHashSet类:链表+哈希表,可以保证元素有序和唯一 |
2.2 ArrayList集合特点及使用?
ArrayList集合属于List集合的特点是查询快增删慢
ArrayList<?> list = new ArrayList<>();
2.3 HashSet集合特点及使用 ?
HashSet集合属于set集合的特点是能去重
HashSet<?> hm = new HashSet<>();
3. 数据结构
3.1 常见的数据结构有哪些及特点 ?
特点 | |
---|---|
栈 | 先进后出 |
队列 | 先进先出 |
数组 | 查询快,增删慢 |
链表 | 增删快,查询慢 |
树(普通二叉树) | 每一个节点最多有俩个子节点,查询速度比较低 |
树(二叉查找树) | 每一个节点的左子节点小,右子节点大,可以提高查询速度,但是可能会出现长短腿 |
树(二叉平衡树) | 每个节点的左右子树高度差不超过1,如果添加元素破坏了平衡规则,那么会通过旋转保证再是平衡树 |
树(红黑树) | 可以对数据进行排序 |
哈希表结构 | 保证数据的唯一 |
4. 当日问题小结
4.1 当日遇到的问题
4.2 出现问题原因
4.3 解决问题方案
若有收获,就点个赞吧
``