2018-2019-20172321 《Java软件结构与数据结构》第四周学习总结

2018-2019-20172321 《Java软件结构与数据结构》第四周学习总结

教材学习内容总结

第六章

  • 6.1列表集合

  • 列表集合是一种概念性表示法,其思想是使事物以线性列表的方式进行组织。

  • 列表集合分为三类:有序列表、无序列表、索引列表

    • 有序列表:其元素按照元素- 的内在特性排序。
    • 无序列表:元素只按照它们在列表的位置进行排序。
    • 索引列表:元素根据自己的数字索引进行排序。
  • 6.2Java集合API中的列表

  • 列表的一些操作

    操作 描述
    add(E element) 向列表末端添加一个元素
    add(int index,E element) 在指定索引处插入一个元素
    get(int index) 返回指定索引处的元素
    remove(int index) 删除指定索引处的元素
    remove(o objecr) 替代指定索引处的元素
    set(int index, E element) 返回列表中的元素数量
  • Java集合API提供的列表类主要是支持索引列表;Java集合API中提供了使用数组实现的ArrayList类和使用链表实现的LinkedList类,它们都可以存储由泛型参数E定义的元素,同时也都实现了List接口。

  • 6.6使用数组实现列表

  • 基于数组实现的列表首先要把列表的一端固定在索引0处,设置一个整数变量rear表示列表中的元素数目,同时表示列表末端的下一个可用位置。

  • 优势——

    • ①支持自动改变大小的功能(最大的优势);
    • ②利用泛型可以用于存储不同非基本类型的数据;
    • ③可以灵活的插入元素 ;
    • ④可以灵活的删除元素 。
  • 6.7使用链表实现列表

  • remove操作:remove操作是链表实现列表最重要的一步,该方法中提供的遍历整个列表的方法,为之后实现contains方法提供了帮助。

教材学习中的问题和解决过程

  • 问题1:教材上有一句话不是特别理解,表述引索列表和数组根本区别得时候出现得,
如果删除了一个元素,其他元素的位置会像"坍缩"了一样以消除产生的间隙。

这个坍缩的意思就很有意思了,是怎么坍缩来腾出位置嘞?

  • 解答:后面的元素会自动的补齐索引,就比如说排队的一列队伍,中间有人不愿意排下去了而离开队伍,后面的人就会向前补齐;其实是个很简单的概念,不知道为什么要用这么难懂的一个词。

代码调试中的问题和解决过程

  • 在实现pp6.7的时候,我运行测试类,发现所有的部分都是null或者0,这就奇了他的怪了,没有道理啊,我又回到我的ArrayList类里去查看我的方法,感觉是没什么问题的啊,就算是其他类错了,size方法也不应该得到0啊

  • 后来我随手点了debug,然后追根溯源,然后弹到了一个奇怪的方法上,原来我在写 ArrayOrderedList类的时候因为直接复制了我先打上去的书上的例题,声明的时候随手Alt+Enter就有了import week5.书上代码.jsjf.ArrayList;所以我的ArrayOrderedList类其实指向了那个什么方法都return null的例题类里面,真是强行降智。

代码托管

上周考试错题总结

  • Because queue operations modify both ends of the collection, fixing one end at index 0 eliminates the requirement that elements be shifted.
    • A .True
    • B .False
  • 正确答案: B 你的答案: A
  • 理解:当时没认真看题,书上的原话是因此将一端固定于引索0处要求移动元素,所以是错的。

结对及互评

  • 博客中值得学习的或问题:
    • 优点:代码编写时遇到的问题记录非常详细;对书本上的内容理解也到位
    • 缺点:没啥缺点,我觉得好的yipi。
  • 本周结对学习情况

其他(感悟、思考等,可选)

国庆假期已经余额不足了,一号几乎在912花掉了一整天,5号开始就开始学习了,其实我觉得一直玩还挺无聊的,学习一下还是不错的感觉,但是一想到未来的半个月每天都要花两三个小时走队列,我就为自己的学习时间不足而感到恐惧。

学习进度条

| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|
| -------- | :----------------😐:----------------😐:---------------: |:-----😐
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 0/0 | 1/1 | 8/8 | |
| 第二周 | 671/671 | 1/2 | 17/25 | |
| 第三周 | 345/1016 | 1/3 | 15/40 | |
| 第四周 | 405/1421 | 2/5 | 23/63 | |

参考资料

posted @ 2018-10-07 20:12  N-idhogg  阅读(197)  评论(0编辑  收藏  举报