B站学习链接:给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
第226节:226_容器_HashMap_判断key或value是否存在
作业:
- 了解containsKey和从containsValue的使用方法;
- 完成课堂小练习;
指导老师:
- 无;
第227节:227_容器_HashMap_底层分析_存储特征介绍
作业:
- 简述HashMap如何存储元素?
指导老师:
- 画出HashMap的存储简图;
第228节:228_容器_HashMap_底层分析_成员变量介绍
作业:
- HashMap底层数组的初始化长度是多少?扩容机制是什么?
- 什么情况下会将链表改为红黑树存储?(两个前提)
- 什么情况下会将红黑树转化为链表进行存储?
指导老师:
- 回顾一下,普通数组的初始化长度是多少?扩容机制是什么?
第229节:229_容器_HashMap_底层分析_存储元素节点类型介绍
作业:
- HashMap底层用什么存储单位元素?
- Node是的成员变量有哪些?
- Node所在的链表是什么类型的?为什么?
指导老师:
1.为了方便单向链表和红黑树的转化,底层的节点是如何定义TreeNode的?
第230节:230_容器_HashMap_底层分析_数组初始化
作业:
- 什么是懒加载?
- 什么时候数组实现的初始化?
指导老师:
- 无;
第231节:231_容器_HashMap_底层分析_计算Hash值
作业:
- HashMap中存储数据时所依靠的HashCode值是谁的hashcode值?(key or value)
- 如何让得到的hash值可以均匀地分布在数组中?
指导老师:
- 9876 >>>4 结果是多少?
第232节:232_容器_HashMap_底层分析_添加元素
作业:
- 简述HashMap添加元素的流程?
指导老师:
- 从源码角度分析map添加元素key重复时的返回值;
第233节:233_容器_HashMap_底层分析_数组扩容
作业:
- 数组扩容的本质是什么?
指导老师:
1.ArrayList list = new ArrayList(20);中的list扩充几次()?
第234节:234_容器_TreeMap_元素自身实现比较规则
作业:
- 对比HashMap,TreeMap有什么优势?
- TreeMap排序中如何让元素实现自身比较规则?
指导老师:
- Map中key分别为”1”,”6”,”3”,”11”时能实现自动排序吗?为什么?
第235节:235_容器_TreeMap_通过比较器实现比较规则
作业:
- 如何通过比较器实现TreeMap的比较规则;
- 完成课堂案例代码;
指导老师:
- 使用比较器的好处是什么?