• 实验一 线性结构


    实验一 线性结构

    实验1

    ArrayList和LinkedList测试:

    查看ArrayList和LinkedList的Java API帮助文档,参考http://www.cnblogs.com/rocedu/p/4837092.html 用Junit对ArrayList和LinkedList的方法进行测试,要尽量覆盖正常情况,异常情况,边界情况

    提交单元测试运行截图,要全屏,包含学号信息
    image

    实验2

    分别用Java的ArrayList和LinkedList实现有序线性表的合并:
    aList,bList都是非递减线性表,合并后也是非递减
    public static List<? extends Comparable> mergeSortedList(List<? extends Comparable> aList,
    List<? extends Comparable> bList)

    测试mergeSortedList的正确性,要尽量覆盖正常情况,异常情况,边界情况,提交测试代码运行截图,包含学号信息

    课下把代码推送到代码托管平台
    image

    实验3

    参考Java Foundation 3rd 第15.6节,用数组实现线性表List

    用JUnit或自己编写驱动类对自己实现的ArrayList进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台
    image

    实验4

    参考Java Foundation 3rd 第15.7节,用链表实现线性表List

    用JUnit或自己编写驱动类对自己实现的LinkedList进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台
    image

    实验5

    源码分析:

    参考http://www.cnblogs.com/rocedu/p/7483915.html对Java的ArrayList,LinkedList按要求进行源码分析,并在实验报告中体现分析结果
    image
    在IDEA中可以找到源代码,首先通过public class ArrayList E extends AbstractList E implements List E, RandomAccess, Cloneable, java.io.Serializable
    可以看出其支持泛型,且继承自AbstractList,因此很多接口比如RandomAccess、Cloneable等接口都可以用,ArrayList提供了三个构造方法,根据网上的说法来看。
    image
    第一个构造方法使用提供的initialCapacity来初始化elementData数组的大小。
    第二个构造方法调用第一个构造方法并传入参数10
    第三个构造方法则将提供的集合转成数组返回给elementData
    LinkedList插入和删除操作时要比ArrayList更加高效,因为它是链表的,因此它的随机访问要比ArrayList差。
    image
    LinkedList继承自AbstractSequenceList
    image
    LinkedList有两个构造方法。根据网上的说法来看。
    第一个构造方法不接受参数,只是将节点的前一节点和后一节点都设置为自身,这样整个链表就只有一个节点,用于表示一个空的链表。
    第二个构造方法接收一个参数,调用第一个构造方法构造一个空的链表,之后通过addAll将其中元素全部添加到链表中。
    感受:学习Java最好的话可以看看源代码。通过看源代码会发现这些东西为什么会这个样子,有哪些东西不能去做,实际应该怎么做等等的问题。最后,可想而知这些代码都是高手们写出来的,对于我们这些初学者来说很有学习意义与借鉴意义。

  • 相关阅读:
    CDN的实现原理
    【Android】 textview 中超出屏幕宽度的字符 省略号显示
    【用户反馈】海外产品大牛: 让用户反馈推着你走
    谷歌2013年搜索热榜 全球榜曼德拉抢榜首 中国区小爸爸第一
    数字(数码)舵机和模拟舵机的区别
    x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用
    【Android】Android自定义属性,attr format取值类型
    android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边
    Android webView打不开baidu网页的解决办法
    企鹅的石头
  • 原文地址:https://www.cnblogs.com/yuanhongming/p/7616492.html
Copyright © 2020-2023  润新知