# 前言

  1. 日期类:

    a. Date、Calendar:经常使用的是java.util.Date

    b. 字符串和日期之间的转换:SimpleDateFormat。在转换的时候需要指定转化格式

  2. 异常

    a. 是java中一套用于反馈和处理问题的机制

    b. 顶级父类是Throwable,包含两个子类:Error,Exception

    c. Error:表示严重的错误。出现之后不能处理,只能尽量的优化代码,减少错误出现的频率

    d. Exception:表示出现的可以处理的问题

    i.  编译时异常:编译的时候就报错要求立即处理
    
    ii. 运行时异常:运行的时候才报错,因此可以处理,也可以不处理
    

    e. 异常的处理方式:

    i.  继续向上抛出:throws
    
    ii. 捕获处理:try-catch
    

    f. 异常的捕获方式:

    i.  如果每一个异常的处理方式各不一样,多个异常分别捕获
    
    ii. 如果所有异常的处理方式都一样,那捕获一个父类异常
    
    iii. 如果异常进行了分组处理,那同一组异常之间用 \| 隔开
    

    g. 自定义异常

    i.  如果代码中出现了java没有提供的异常,需要自定义异常
    
    ii. 如果继承的是Exception,自定义的是一个编译时异常
    
    iii. 如果继承的是RuntimeException,自定义的是一个运行时异常
    

    h. 在进行方法重写的时候,子类方法抛出的异常不能超过父类方法抛出的异常的范围。注意,指的是编译时异常

    i. finally:无论如何都会执行一次

# Collection

一、概述

  1. 能存多个元素的容器,大小不固定

  2. <E> 泛型。在集合中的作用是为了限定存储的元素类型。由于泛型的限定,集合中只能存储引用类型

  3. 包含的主要的子接口:List、Set、Queue

二、List - 列表

  1. 存储的元素是有顺序的(按照什么顺序放入就能按照什么顺序取出)

  2. 允许存储重复的元素

  3. 在List中,元素的下标从0开始

  4. 重要的实现类:ArrayList、LinkedList、Vector、Stack

  5. ArrayList - 顺序表

    a. 底层是基于数组来实现的

    b. 初始容量为10

    c. 在扩容的时候,每次在当前容量的基础上,增加一半 --- 基于右移

    d. 线程不安全

    e. 插入或者删除元素相对麻烦;如果查询元素,相对简单 --- 增删难, > 查询易

  6. LinkedList - 链表

a. 在底层是以节点的来存储数据。当添加数据的时候,会定义一个新的节点来存储数据

b. 节点之间通过地址引用的方式互相关联

c. 在LinkedList,相对来说增删要容易一些;查询运算相对复杂 --- > 增删易,查询难

d. 线程不安全

三、Comparator - 比较器

  1. 重写compare方法,在这个方法中指定比较规则

  2. 在排序的时候根据compare方法返回值的正负来确定排序顺序

Last Updated: 11/18/2022, 10:55:14 AM