20175221 《Java程序设计》第8周学习总结
教材学习内容总结
第十五章主要内容有:泛型、链表、堆栈、散列映射、树集以及树映射。
泛型:
- 声明:可以使用class名称<泛型列表>声明一个类
- 特点:泛型类声明和创建对象时,类名后多了一对“<>。<>里面可以是类和接口
- 优点:使用泛型时,不必进行强制类型转换
链表
- 定义:链表是由若干个称作结点的对象组成的一种数据结构,每个结点含有一个数据和下一个结点的引用,或含有一个数据并含有上一个结点的引用和下一个结点的引用。
- 重要方法:使用 iterator() 方法获取一个 Iterator 对象
- 特点:链表可以进行排序、查找、洗牌、旋转操作
堆栈
- 特点:“先进后出”的数据结构
- 使用:向堆栈中输入数据的操作称为“压栈”,从堆栈中输出数据的操作称为“弹栈”
散列映射
- 定义:使用HashMap<K,V>泛型类创建的对象称作散列映射
树集
- 定义:TreeSet类创建的对象叫做树集
- 特点:树集用 add 方法添加结点,结点会按其存放的数据的“大小”顺序一层一层地依次排列,按字典顺序从左到右递增,从上到下递减
树映射
- 定义:TreeMap<K,V>对象为树映射
- 特点:和树集不同,树映射保证结点是按照结点中的关键字升序排列。
教材学习中的问题和解决过程
- 问题1:
- 树集和树映射有什么关系
问题1解决方案:
从定义来看:
树集合不安添加顺序排序,按照集合的实例实现的Comparable接口的compareTo方法来排序
树映射是树和映射一起来,按照映射的Key来排大小
代码调试中的问题和解决过程
- 问题1:
- 在编写程序完成后编译,出现了API过时,不安全的操作等报错,无法编译成功或运行成功
问题1解决方案:
- 重启了一下虚拟机就可以继续运行了。
代码托管(https://gitee.com/zxjacdl/zxj175221)
statistics.sh脚本的运行结果截图
上周考试错题总结
- 上周考试无错题
其他(感悟、思考等,可选)
这是java学习的第二个月,总体来说还是感觉自己在稳定进步。这个周只有第十五周的内容,也不算多,但想要真正做到理解消化也不是容易事。所以还是要继续努力
学习进度条(四月份继三月份)
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 8篇 | 100小时 | |
第一周 | 13/13 | 1/1 | 12/12 | |
第二周 | 309/322 | 1/2 | 13/25 | |
第三周 | 614/923 | 1/3 | 15/40 | |
第四周 | 384/1379 | 1/4 | 12/52 | |
第五周 | 565/1954 | 1/5 | 12/64 | |
第六周 | 1080/3034 | 1/6 | 15/79 | |
第七周 | 671/3705 | 1/7 | 12/91 | |
第八周 | 597/4302 | 1/8 | 12/103 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:12
实际学习时间:12
改进情况:继续保持稳定前进
(有空多看看现代软件工程 课件软件工程师能力自我评价表)
参考资料
[ Java 2 实用教程(第5版)]