怎么做网站浏览量分析,wordpress 36氪,网站建设和维护合同书,高端网站建设公司成都实验一#xff1a;实验报告 课程#xff1a;程序设计与数据结构 班级#xff1a; 1623 姓名#xff1a; 张旭升 学号#xff1a;20162329 指导教师#xff1a;娄嘉鹏 王志强 实验日期#xff1a;9月25日 实验密级#xff1a; 非密级 预习程度#xff1a; 已预习 必修/…实验一实验报告 课程程序设计与数据结构 班级 1623 姓名 张旭升 学号20162329 指导教师娄嘉鹏 王志强 实验日期9月25日 实验密级 非密级 预习程度 已预习 必修/选修 必修 实验序号 cs_29 实验名称 Java线性表的应用实现和分析 实验内容 1. Java中的线性表的测试过程问题 2. Java中的线性表的应用过程问题 3. 顺序表的实现伪代码产品代码测试代码过程分析设计实现测试问题 4. 链表的实现伪代码产品代码测试代码过程分析设计实现测试问题 5. Java ArrayListLinkedList源码分析过程学到的技巧 实验要求 1.没有Linux基础的同学建议先学习《Linux基础入门新版》《Vim编辑器》 课程 完成实验、撰写实验报告实验报告以博客方式发表在博客园注意实验报告重点是 运行结果遇到的问题(工具查找安装使用程序的编辑调试运行等)、解决 办法空洞的方法如“查网络”、“问同学”、“看书”等一律得0分以及分析从中可 以得到什么启示有什么收获教训等。报告可以参考范飞龙老师的指导严禁抄袭有该行为者实验成绩归零并附加其他惩罚措施。实验过程 一.Java中线性表的测试 1.MyList类 Java中提供了两种线性表分别是ArrayList和LinkedList我分别对它们每种类的其中三个主要方法进行了Junit单元测试 ArrayListLinkedListboolean : isEmpty()boolean : contains(Object o)boolean : add(Object o)boolean : add(Object o)Object : remove(int index)boolean : remove(Object o) 注意 在测试中我发现两种线性表在Java源代码中是受保护无法直接进行单元测试的我只能自己写一个MyList来继承上面两个类然后通过将需要测试的方法复写一下只需要调用父类的该方法就可以直接进行单元测试了。 2.测试结果及代码 测试代码 ArrayList测试代码LinkedList测试代码 测试截图 二.用Java线性表实现有序线性表的合并 实现代码 实现代码测试代码 测试截图 三.用数组实现线性表 1.实现代码分析 创建数组线性表的思路和课上的Bag类是很类似的具体做法也是在Bag类的基础上进行了一些功能的改进比如实现了存储空间的自增长等 思路 在每次往数组中线性的添加元素时都会进行一个判断如果数组已经没有空位时就会进行一个变换的操作新建一个多10位的数组数组初始大小为10然后将原数组中的元素遍历出来放入新建数组然后将新建数组赋给原数组的引用即使数组长度增加了10 2.实现代码及测试 实现代码测试代码3.测试截图 四.用链表实现线性表 1.实现代码分析 定义一个链表的类然后在类中创建两个变量一个为泛型变量一个是该类的对象这个类的对象将会作为一个指针在链表中每创建一个新的元素时就会 实将指针实例化。 2.实现代码及测试代码 实现代码测试代码3.测试截图 五.ArrayList与LinkedList源码分析 1.源码调取 我所分析的源码是从IDEA中直接调取的具体操作是在IDEA中连按两次Shift键就会弹出一个搜索框然后在搜索框中分别搜索ArrayList和LinkedList就可以调出 这两个类的源代码 2.源码分析 1.ArrayList是实现了基于动态数组的数据结构LinkedList基于链表的数据结构。 2.对于随机访问get和setArrayList觉得优于LinkedList因为LinkedList要移动指针。 3.对于新增和删除操作add和removeLinedList比较占优势因为ArrayList要移动数据。 参考资料java集合框架05——ArrayList和LinkedList的区别Java中ArrayList和LinkedList区别 转载于:https://www.cnblogs.com/Zhangxusheng/p/7612731.html