zoukankan      html  css  js  c++  java
  • 201521123085 《Java程序设计》第7周学习总结

    1. 本周学习总结

    以你喜欢的方式(思维导图或其他)归纳总结集合相关内容。
    参考资料:


    2. 书面作业

    1.ArrayList代码分析
    1.1 解释ArrayList的contains源代码
    代码:

    Contains方法里面又调用了indexof方法,如果indexof方法返回值小于0,则表示O不存在对象数组里面,而indexof方法是将O对象与对象数组里面的元素一个一个进行比较的,如果有查到一样的,就返回该元素的位置,没有则返回-1


    1.2 解释E remove(int index)源代码

    首先根据指定的位置找到要删除的元素,然后将该元素移除,向左移动所有后续元素,再将长度减1。


    1.3 结合1.1与1.2,回答ArrayList存储数据时需要考虑元素的类型吗?
    不用考虑,ArrayList存储的数据都要是引用类型,而且ArrayList存储数据实际上是用Object的数组。


    1.4 分析add源代码,回答当内部数组容量不够时,怎么办?

    add方法是先判断需要加入新元素的位置是否超过数组容量,如果超过,则先扩大数组容量,使其长度加1。


    1.5 分析private void rangeCheck(int index)源代码,为什么该方法应该声明为private而不声明为public?

    private修饰可以不被外界任意修改,并且具有隐私性,不被随意调用,该方法只是用来判断给定的索引是否在范围内,有没有越界,外部并不需要访问它,不能修改它。


    2.HashSet原理
    2.1 将元素加入HashSet(散列集)中,其存储位置如何确定?需要调用那些方法?
    计算出带存储的散列码作为存储的位置依据,将对象存入Hash类集合,需要用到hashCode和equals两个方法。


    3.ArrayListIntegerStack
    题集jmu-Java-05-集合之5-1 ArrayListIntegerStack
    3.1 比较自己写的ArrayListIntegerStack与自己在题集jmu-Java-04-面向对象2-进阶-多态、接口与内部类中的题目5-3自定义接口ArrayIntegerStack,有什么不同?(不要出现大段代码)
    5-1中使用的是ArrayList数组来存放对象,相当于长度可变的数组,相应的push、pop、peek等方法的编写用到了list中的add、remove等方法;5-3中则是用栈来存放对象,要考虑考虑原先设定的长度,并且要有top指针。


    3.2 简单描述接口的好处.
    能使整个结构清晰,类之间的通信简单易懂,能够大大提高程序的灵活性以及可维护性。


    4.Stack and Queue
    4.1 编写函数判断一个给定字符串是否是回文,一定要使用栈,但不能使用java的Stack类(具体原因自己搜索)。请粘贴你的代码,类名为Main你的学号。


    4.2 题集jmu-Java-05-集合之5-6 银行业务队列简单模拟。(不要出现大段代码)


    5.统计文字中的单词数量并按单词的字母顺序排序后输出
    题集jmu-Java-05-集合之5-2 统计文字中的单词数量并按单词的字母顺序排序后输出 (不要出现大段代码)


    5.1 实验总结
    使用TreeSet,要考虑到字母顺序排序。


    7.面向对象设计大作业-改进
    7.1 完善图形界面(说明与上次作业相比增加与修改了些什么)
    7.2 使用集合类改进大作业
    参考资料:
    JTable参考项目


    3. 码云上代码提交记录及PTA实验总结

    题目集:jmu-Java-05-集合

    3.1. 码云代码提交记录

  • 相关阅读:
    Celery
    windows笔记目录
    Linux笔记目录
    python笔记目录
    rsa
    c#目录
    webpack3.x配置
    RabbitMQ服务安装(Linux)
    JavaScript验证用户输入
    IP地址检测工具
  • 原文地址:https://www.cnblogs.com/yeei66/p/6682688.html
Copyright © 2011-2022 走看看