• 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. 码云代码提交记录

  • 相关阅读:
    SwiftUI extension Bundle for parse JSON file All In One
    如何清理 MacBook Pro 笔记本电脑外壳上贴纸残胶 All In One
    pure CSS carousel effect All In One
    SwiftUI custom MapAnnotation All In One
    Xcode code folding ribbon All In One
    技术人员副业赚钱之道 All In One
    图解算法数据结构 All In One
    js iterator protocol & next() All In One
    Vue 3 Transition All In One
    Bloom Filter js version All In One
  • 原文地址:https://www.cnblogs.com/yeei66/p/6682688.html
Copyright © 2020-2023  润新知