实验一:ArrayList和LinkedList测试
要求:
ArrayList和LinkedList测试:
查看ArrayList和LinkedList的Java API帮助文档,参考http://www.cnblogs.com/rocedu/p/4837092.html 用Junit对ArrayList和LinkedList的方法进行测试,要尽量覆盖正常情况,异常情况,边界情况
提交单元测试运行截图,要全屏,包含学号信息
- 实验过程:
分别对ArrayList类和LinkedList类中的三种方法进行测试,用上学期学过的Junit进行测试,比较简单。 - 实验截图如下:
实验二:分别用Java的ArrayList和LinkedList实现有序线性表的合并
要求:
aList,bList都是非递减线性表,合并后也是非递减
public static List<? extends Comparable> mergeSortedList(List<? extends Comparable> aList,
List<? extends Comparable> bList)
测试mergeSortedList的正确性,要尽量覆盖正常情况,异常情况,边界情况,提交测试代码运行截图,包含学号信息
课下把代码推送到代码托管平台。
- 实验过程:
主要是进行线性表的合并,同时注意理解非递减的含义。 - 实验截图如下:
实验代码链接
实验三:参考Java Foundation 3rd 第15.6节,用数组实现线性表List
要求:
用JUnit或自己编写驱动类对自己实现的ArrayList进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
- 实验过程:
通过阅读数据结构学习笔记,对自己实现的ArrayList中的add,isempty和remove三种方法进行测试。
因未在实验课当天完成后三个实验,没有提交截图,之后完成实验后截图和代码都保存在学校的电脑里,待返校后会修改该博客。
实验四:参考Java Foundation 3rd 第15.7节,用链表实现线性表List
要求:
用JUnit或自己编写驱动类对自己实现的LinkedList进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
- 实验过程:
实验四和实验三的思路大致相同,只需稍作修改。
实验五:源码分析
要求:
参考http://www.cnblogs.com/rocedu/p/7483915.html对Java的ArrayList,LinkedList按要求进行源码分析,并在实验报告中体现分析结果
- 实验过程:
查看源代码,源代码中有大量的注释,注释内容已经将代码解释的很清楚了,但可能因为不经常看源代码,对其中一些高频词汇不是很清楚,以后还是要经常查看源代码。
源代码中记录的方法,对之前的实验也有很大的帮助。
实验心得:
- 本学期开始的第一次实验就给了我很大的压力,一方面自己从前很少自己动手写代码,也很少查看源代码,所以对于自己写方法,自己测试,真的是亚历山大,还是尽快跟上大家的节奏,不然两星期一次的实验真的是承受不来啊。。。