《JAVA程序设计》第八周学习总结

《JAVA程序设计》第八周学习总结

一、目录

  • 第十五章知识总结
  • 遇到的问题及解决方法
  • 上周错题总结
  • 代码托管
  • 感想

二、第十五章知识总结:泛型与集合框架

  • 泛型:
    • 泛型类声明:可以使用“class 名称 ”声明一个类,例如: class People
    • 类名后多了对“<>”,而且必须要用具体的类型替换“<>”中的泛型。
    • 声明对象:
    Cone coneOne;
    coneOne = new Cone(new Circle());
  • 链表:
    • LinkedList链表:创建对象以链表结构存储数据
    • 创建空链表:LinkedList mylist = new LinkedList();
    • 使用add(E obj)方法依次增加节点
    • 使用get(int index)方法遍历链表
    • 排序与查找 :
      1 、升序排序:public static sort(List list)
      2、折半法查找:int binarySearch(List list,T key,CompareTo c)
  • 洗牌与旋转 :
    1、随机排序:public static void shuffle(List list)
    2、旋转数据:static void rotate(List list,int distance)
    3、翻转数据:public static void reverse(List list)
  • 堆栈 :
    • 创建堆栈对象:Stack
    • 压栈操作:public E push(E item);
    • 弹栈操作:public E pop();
    • 判断堆栈是否还有数据:public boolean empty();有数据返回false,否则返回true
    • 获取堆栈顶端的数据,但不删除该数据:public E peek()
    • 获取数据在对战中的位置:public int search(Object data);
  • 散列映射:
    • 使用HashMap泛型类创建的对象称作散列映射。
  • 树集:
    • TreeSet类创建的对象叫做树集。
    • 在树集中,按字典顺序从左到右递增,从上到下递减。
  • 树映射:
    • TreeMap对象为树映射。
    • 树映射的节点可以存储关键字、关键值对。
    • 排序时,按照关键字升序排序。

三、遇到的问题及解决方法:

  • 问题:编译Example15_3时,会出现报错:
    《JAVA程序设计》第八周学习总结_第1张图片
  • 解决方法:刚开始以为是程序代码打错了,翻书查找原因时,才发现是因为使用了旧版本的LinkedList类,JDK1.5后续版本的编译器会给出警告信息,但程序仍能正常运行。

四、上周错题总结:
《JAVA程序设计》第八周学习总结_第2张图片

  • 解析:③:要查找\本身,需要用\。⑥:注意字符转义,应为""Hello"".matches("(["'])[^\"']*\1")。

《JAVA程序设计》第八周学习总结_第3张图片

  • 解析:查询API。B项:直到索引 endIndex - 1 处的字符。E项:抛出IndexOutOfBoundsException异常。

五、码云链接:
https://gitee.com/sgm5/text1/commit/398e41f04f25b6aa6947734e7445a252cc123e64

六、感想:
这周学到了很多有用的内容,感觉是很值得的。有些知识点可能略过没能仔细琢磨,敲代码时发现自己其实并未完全掌握,但还是能学到一些知识,通过课上的测试反馈出来的问题漏洞有很多,看完教材感觉自己会了,但在做题过程中一些概念定义还是模棱两可,不太牢固,还是应多将理论运用到实际。

七、PSP

周数 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第八周 1187/4057 2/12 18/110

你可能感兴趣的:(《JAVA程序设计》第八周学习总结)