# 前言
日期类:
a. Date、Calendar:经常使用的是java.util.Date
b. 字符串和日期之间的转换:SimpleDateFormat。在转换的时候需要指定转化格式
异常
a. 是java中一套用于反馈和处理问题的机制
b. 顶级父类是Throwable,包含两个子类:Error,Exception
c. Error:表示严重的错误。出现之后不能处理,只能尽量的优化代码,减少错误出现的频率
d. Exception:表示出现的可以处理的问题
i. 编译时异常:编译的时候就报错要求立即处理 ii. 运行时异常:运行的时候才报错,因此可以处理,也可以不处理e. 异常的处理方式:
i. 继续向上抛出:throws ii. 捕获处理:try-catchf. 异常的捕获方式:
i. 如果每一个异常的处理方式各不一样,多个异常分别捕获 ii. 如果所有异常的处理方式都一样,那捕获一个父类异常 iii. 如果异常进行了分组处理,那同一组异常之间用 \| 隔开g. 自定义异常
i. 如果代码中出现了java没有提供的异常,需要自定义异常 ii. 如果继承的是Exception,自定义的是一个编译时异常 iii. 如果继承的是RuntimeException,自定义的是一个运行时异常h. 在进行方法重写的时候,子类方法抛出的异常不能超过父类方法抛出的异常的范围。注意,指的是编译时异常
i. finally:无论如何都会执行一次
# Collection
一、概述
能存多个元素的容器,大小不固定
<E> 泛型。在集合中的作用是为了限定存储的元素类型。由于泛型的限定,集合中只能存储引用类型
包含的主要的子接口:List、Set、Queue
二、List - 列表
存储的元素是有顺序的(按照什么顺序放入就能按照什么顺序取出)
允许存储重复的元素
在List中,元素的下标从0开始
重要的实现类:ArrayList、LinkedList、Vector、Stack
ArrayList - 顺序表
a. 底层是基于数组来实现的
b. 初始容量为10
c. 在扩容的时候,每次在当前容量的基础上,增加一半 --- 基于右移
d. 线程不安全
e. 插入或者删除元素相对麻烦;如果查询元素,相对简单 --- 增删难, > 查询易
LinkedList - 链表
a. 在底层是以节点的来存储数据。当添加数据的时候,会定义一个新的节点来存储数据
b. 节点之间通过地址引用的方式互相关联
c. 在LinkedList,相对来说增删要容易一些;查询运算相对复杂 --- > 增删易,查询难
d. 线程不安全
三、Comparator - 比较器
重写compare方法,在这个方法中指定比较规则
在排序的时候根据compare方法返回值的正负来确定排序顺序