20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结

Posted amberr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结相关的知识,希望对你有一定的参考价值。

20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结

教材学习内容总结

  • 集合的概念
  • 集合是储存对象的,长度可变,可以封装不同的对象
  • 迭代器: 其实就是取出元素的方式(只能判断,取出,移除,无法增加)

  • 集合与数据结构
  • 集合是一种对象,类似于保存其他对象的存储库。
  • 我们常常用集合表示一个专门用于保存元素的对象,并且该对象还提供增添、删除等管理所保存元素的服务。例如Arraylist类。
    技术分享图片

  • 集合的同构与异构
  • 同构:只保存同类元素
  • 异构:可保存不同类元素
  • 动态结构
  • 建立动态结构的链,见下,实例化两个Node类对象,并使一个Node对象的引用变量next指向另一个Node对象,从而将两个对象链接起来。
    技术分享图片

  • 队列:队列类似于列表,不同的地方在于队列元素存取方式有限制,队列采取先进先出(FIFO)的存取方式,即类似于生活中我们排队的情况,我们是从队尾入队,队首出队。
    技术分享图片

  • 堆栈:堆栈类似于队列,不同之处在于元素的存取方式,它是采用后进先出(LIFO)的存取方式,也就是堆栈元素在堆栈的同一端进入和移出栈堆,最后进入的是第一个移出的。
  • 树:由一个根节点和构成层次结构的多个节点组成,除根节点外的所有节点称为内部节点,没有子节点的节点称为叶节点。注意,由下至上地画一棵树,根节点在顶层,叶节点在底层。
  • 图:图没有类似树根节点那样的初始入口点,一个图中,一个节点到另一个节点的连接称为边,连接一个图内各节点的边数没有限制。
  • java集合类API
  • 泛型:指一个集合所管理的对象的类型要在实例化该集合对象时才确定。java集合类API中定义的类称为泛型泛型保证了集合中对象类型的兼容性。

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

  • 问题1:
    几种集合的不同之处
  • 问题1解决方案:

List:元素是有序的,元素可以重复.因为改集合体系有索引.

ArrayList:底层的数据结构使用的是数组结构,特点:查询速度快,但是增删慢.线程不同步

LinkedList:底层使用的是;链表数据结构,特点:增删速度快,查寻速度慢.

Vector:底层的数据结构使用的是数组结构,线程同步,速度慢,被ArrayList替代

list:特有方法,凡是可以操作角标的方法都是该体系特有的方法
增:add(index,element); addAll(index,Collection);
删:remove(index);
改:set(index,element);
查:get(index);subList(from,to);ListIterator();(重点)

  • 问题2:集合使用时一些比较有用的方法
  • 问题2解决方案:
  1. toArray()方法:是遍历用的(把集合转变为数组)
  • asList()方法,把数组转变为集合
  • 数组长度是length方法,字符串的长度是length(),集合求长度的方法是size.
  • Iterator迭代器是集合的特有遍历方法:while方法、for循环方法。
  • list集合特有的遍历方法:就是size和get()的结合

    for(int x=0; x<list.size();x++){
    System.out.println(list.get(x));
    }
  • 问题4:IO流
  • 问题4解决方案:I/O异常有可能产生的异常太多了,我选择看API

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

代码托管

上周考试错题总结

  1. A finally clause will execute
    A . only if the try statement that precedes it does not throw an exception
    B . only if the try statement that precedes it throws an exception that is caught
    C . only if the try statement that precedes it throws an exception that is not caught
    D . only if the try statement that precedes it throws an exception, whether it is caught or not
    E . in any circumstance
    最后一个子句,无论在try和catch语句中发生什么,都将执行 (因为它是可选的)。

  2. In order to have some code throw an exception, you would use which of the following reserved words?
    A . throw
    B . throws
    C . try
    D . Throwable
    E . goto
    当检测到异常时,使用保留字throw抛出异常,如:if (score < 0)抛出新的IllegalTestScoreException(“输入分数”+ score +“为负值”);

  3. Character streams manage
    A . byte-sized data
    B . binary data
    C . Unicode characters
    D . ASCII characters
    E . compressed data
    字符流用于管理16位Unicode字符。

  4. A method that uses the Scanner class to obtain input does not require either catching or throwing an IOException. This is because
    A . the Scanner class does not call upon any classes that throw checked exceptions
    B . the Scanner class‘ methods call input methods in try statements and catch IOExceptions so that they are handled directly in the Scanner class
    C . the Scanner class uses JOptionPane dialog boxes instead of java.io classes so that it does not have to deal with IOExceptions
    D . the Scanner class overrides the class IOException making it an unchecked exception
    E . none of the above, methods do require handling IOException even if thrown by a method in a Scanner class
    通过拥有自己的catch (IOException…)catch语句,导致一个IOException的扫描器类中的任何代码都被扫描器类捕获

结对及互评

写在评论里

点评过的同学博客和代码

  • 本周结对学习情况

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

??

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/2 20/20
第二周 329/500 2/3 18/38
第三周 619/1000 2/5 22/60
第四周 817/1734 2/7 38/98
第五周 674/2408 1/9 30/128
第六周 1136/2870 2/10 30/158
第七周 1000/3791 1/11 32/190
第八周 2662/6453 2/13 48/238
第九周 782/7573 2/15 48/238
第十周 782/7573 2/17 48/238

参考资料

以上是关于20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

2017-2018-2学期 20172324《Java程序设计》第六周学习总结

20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172324 2017-2018-2 《程序设计与数据结构》第七周学习总结

20172324《Java程序设计》第二周学习总结

20172324《程序设计与数据结构》第一周学习总结

20172324《程序设计与数据结构》第四周学习总结