Java练手任务总结【20】

59 阅读2分钟

B站学习链接:给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili

第226节:226_容器_HashMap_判断key或value是否存在

作业:

  1. 了解containsKey和从containsValue的使用方法;
  2. 完成课堂小练习;

指导老师:

  1. 无;

第227节:227_容器_HashMap_底层分析_存储特征介绍

作业:

  1. 简述HashMap如何存储元素?

指导老师:

  1. 画出HashMap的存储简图;

第228节:228_容器_HashMap_底层分析_成员变量介绍

作业:

  1. HashMap底层数组的初始化长度是多少?扩容机制是什么?
  2. 什么情况下会将链表改为红黑树存储?(两个前提)
  3. 什么情况下会将红黑树转化为链表进行存储?

指导老师:

  1. 回顾一下,普通数组的初始化长度是多少?扩容机制是什么?

第229节:229_容器_HashMap_底层分析_存储元素节点类型介绍

作业:

  1. HashMap底层用什么存储单位元素?
  2. Node<K,V>是的成员变量有哪些?
  3. Node<K,V>所在的链表是什么类型的?为什么?

指导老师:

1.为了方便单向链表和红黑树的转化,底层的节点是如何定义TreeNode的?

第230节:230_容器_HashMap_底层分析_数组初始化

作业:

  1. 什么是懒加载?
  2. 什么时候数组实现的初始化?

指导老师:

  1.  无;

第231节:231_容器_HashMap_底层分析_计算Hash值

作业:

  1. HashMap中存储数据时所依靠的HashCode值是谁的hashcode值?(key or value)
  2. 如何让得到的hash值可以均匀地分布在数组中?

指导老师:

  1. 9876 >>>4 结果是多少?

第232节:232_容器_HashMap_底层分析_添加元素

作业:

  1. 简述HashMap添加元素的流程?

指导老师:

  1. 从源码角度分析map添加元素key重复时的返回值;

第233节:233_容器_HashMap_底层分析_数组扩容

作业:

  1. 数组扩容的本质是什么?

指导老师:

1.ArrayList list = new ArrayList(20);中的list扩充几次()?

第234节:234_容器_TreeMap_元素自身实现比较规则

作业:

  1. 对比HashMap,TreeMap有什么优势?
  2. TreeMap排序中如何让元素实现自身比较规则?

指导老师:

  1.  Map中key分别为”1”,”6”,”3”,”11”时能实现自动排序吗?为什么?

第235节:235_容器_TreeMap_通过比较器实现比较规则

作业:

  1. 如何通过比较器实现TreeMap的比较规则;
  2. 完成课堂案例代码;

指导老师:

  1. 使用比较器的好处是什么?