学号 20172326 《程序设计与数据结构》第四周学习总结
教材学习内容总结
- 列表与栈,队列的关系与区别
- 有序列表插入时插入方法
- 无序列表的区别
- Comparable方法的重载
- 用链表,数组实现列表
教材学习中的问题和解决过程
- 问题1:串行化的理解(Serialization)
问题1理解:对象通过写出描述自己状态的数值来记录自己,这个过程叫对象的串行化(Serialization)。串行化的主要任务是写出对象实例变量的数值。如果变量是另一对象的引用,则引用的对象也要串行化。
什么情况下需要序列化?
a)当你想把的内存中的对象状态(也就是实例变量,不是方法)保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;- 问题2:instanceof的理解
问题2理解:java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
代码调试中的问题和解决过程
- 问题1:在使用last方法中无法返回tail,出现空指针异常
- 问题1解决方案:出现这种问题,可能有两种问题,第一种,tail位于最后一个元素的下一个元素,也就是指向空;再者,每次add方法后,tail指针未发生移动。通过单步调试,发现属于后者。同时,在add方法移动指针较为困难,涉及到许多种情况,因此,我最终使用了将指针遍历链表,使得其指向tail
问题2:在编写pp时,出现了问题
问题2解决方案:通过单步调试,在后两个if语句出现了问题,使得语句重复执行,在加上括号后,得以解决
代码托管
上周考试错题总结
- 错题1
- - 多态引用可以在一段时间内引用不同类型的对象。参考变量可以引用任何与它相关的类通过继承而创建的对象。引用的类型,而不是对象的类型,用于确定在多态引用中调用何种版本的方法。
- 错题2
- 捕获程序错误最理想的时机是在编译阶段,这样可以彻底避免错误的代码运行。但并非所有的错误都能在编译期间侦测到,有些问题必须在运行期间解决。
- 错题三
- The implementation of the collection operations should not affect the way users interact with the collection.
- 错题四
- pop操作将栈顶元素弹出,并将其返回
- 错题五
- 在Java的api中,用链表实现的栈具体是用头插法进行操作的,这样的算法效率要小于尾插法
- 错题六
- 队列中的操作在两端进行,所以其元素会发生移位
结对及互评
- 博客中值得学习的或问题:
排版精美,对于问题研究得很细致,解答也很周全。 - 代码中值得学习的或问题:
代码写的很规范,思路很清晰,继续加油!
点评过的同学博客和代码
其他(感悟、思考等,可选)
本周主要是在假期进行学习,这样使得学习时间较为不足,部分知识领会的不是非常的到位,将会继续持续学习。进而掌握。
学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长 目标 5000行 30篇 400小时 第一周 0/0 1/1 3/3 第二周 409/409 1/2 5/8 第三周 1174/1583 1/3 10/18 第四周 1843/3426 2/5 10/28