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


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

    一、目录

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

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

    • 泛型:
      • 泛型类声明:可以使用“class 名称<泛型列表>”声明一个类,例如:class People<E>
      • 类名后多了对“<>”,而且必须要用具体的类型替换“<>”中的泛型。
      • 声明对象:

    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<K,V>`泛型类创建的对象称作散列映射。
    - 树集:
      - `TreeSet`类创建的对象叫做树集。
      - 在树集中,按字典顺序从左到右递增,从上到下递减。
    - 树映射:
       - `TreeMap<K,V>`对象为树映射。
      - 树映射的节点可以存储关键字、关键值对。 
       - 排序时,按照关键字升序排序。
    
    **三、遇到的问题及解决方法:**
    
    - 问题:编译Example15_3时,会出现报错:
    ![](https://img2018.cnblogs.com/blog/1265430/201904/1265430-20190421170800990-1075946250.png)
    - 解决方法:刚开始以为是程序代码打错了,翻书查找原因时,才发现是因为使用了旧版本的LinkedList类,JDK1.5后续版本的编译器会给出警告信息,但程序仍能正常运行。
    
    **四、上周错题总结:**
    ![](https://img2018.cnblogs.com/blog/1265430/201904/1265430-20190421170815035-1681401796.png)
    - 解析:③:要查找本身,需要用\。⑥:注意字符转义,应为""Hello"".matches("(["'])[^"']*\1")。
    
    ![](https://img2018.cnblogs.com/blog/1265430/201904/1265430-20190421170823970-701964317.png)
    - 解析:查询API。B项:直到索引 endIndex - 1 处的字符。E项:抛出IndexOutOfBoundsException异常。
    
    **五、码云链接:**
    https://gitee.com/sgm5/text1/commit/398e41f04f25b6aa6947734e7445a252cc123e64
    
    
    **六、感想:**
    这周学到了很多有用的内容,感觉是很值得的。有些知识点可能略过没能仔细琢磨,敲代码时发现自己其实并未完全掌握,但还是能学到一些知识,通过课上的测试反馈出来的问题漏洞有很多,看完教材感觉自己会了,但在做题过程中一些概念定义还是模棱两可,不太牢固,还是应多将理论运用到实际。
    
    **七、PSP**
    
    |   周数 | 代码行数(新增/累积) |博客量(新增/累积) | 学习时间(新增/累积)|重要成长|
    |---------| ------ | ------ | ------|----------|
    |目标| 5000行| 30篇 |400小时|   |  
    |第八周|1187/4057|2/12| 18/110 | |
  • 相关阅读:
    IDEA 错误:程序包XXX不存在
    202A 202B 202C 202D 202E字符的作用及解释
    MySQL 获取每月多少日的sql写法
    Mybatis Plus使用租户过滤无效解决方案
    Shiro集成多个Realm,认证都不通过返回y configured realms. Please ensure that at least one realm can authenticate these tokens.
    使用IDEA开发SpringBoot不加载application.yml配置文件的解决方案
    集成SpringCloudBus,但没有总线通知更改
    Gradle 使用@Value注册编译报错
    Shiro Session放到Redis中常遇到的问题
    前端页面调试方式的选择
  • 原文地址:https://www.cnblogs.com/sgm5/p/10745849.html
Copyright © 2020-2023  润新知