本阶段涵盖:异常处理与 Object 类、包装类/集合框架/泛型、LinkedList 与手写链表、迭代器/Map 集合/二叉树 细分文档:
按日细分/20260728-笔记.md~按日细分/20260731-笔记.md学生需要重点理解、背诵、掌握的理论核心知识点。
Throwable
├── Exception(程序可处理)
│ ├── RuntimeException(运行时异常:Arithmetic/ArrayIndexOutOfBounds/NullPointer...)
│ └── 非 RuntimeException(编译期异常,必须处理:IOException、SQLException)
└── Error(严重问题,无法处理:StackOverflowError、OutOfMemoryError)
try-catch-finally(完整)/ try-catch / try-finally(不处理但关资源)getMessage()(最常用)/ printStackTrace() / getCause() / fillInStackTrace()
Exception(编译期)或 RuntimeException(运行时)| 维度 | throw | throws |
|---|---|---|
| 位置 | 方法体内 | 方法声明后 |
| 后跟 | 异常对象 | 异常类名 |
| 作用 | 实际抛出 | 声明有风险 |
| 数量 | 一次一个 | 一次多个 |
一句话:
throw是"干活的",throws是"贴告示的"。
equals()、hashCode()、toString()包名.类名@哈希码,重写便于输出对象Objects.equals() / Objects.hash() / Objects.requireNonNull()基本类型 ↔ 包装类: int→Integer、char→Character、其余首字母大写(Byte/Short/Long/Float/Double/Boolean)
valueOf())intValue())== 为 true;超出新建Integer.parseInt(String)、valueOf()、intValue()、MAX_VALUE| 维度 | 数组 | 集合 |
|---|---|---|
| 长度 | 不可变 | 可变 |
| 存储 | 基本+引用 | 只能引用(基本用包装类) |
| 类型 | 同一种 | 可多种(建议泛型) |
Collection(单列) Map(双列)
├── List(有序可重复) ├── HashMap
│ ├── ArrayList(数组) └── TreeMap
│ └── LinkedList(链表)
└── Set(无序不可重复)
├── HashSet(哈希表)
├── TreeSet(红黑树可排序)
└── LinkedHashSet(保持插入顺序)
| 结构 | 特点 | 实现 |
|---|---|---|
| 栈 | 先进后出 LIFO | LinkedList |
| 队列 | 先进先出 FIFO | LinkedList |
| 数组 | 连续,查询快增删慢 | ArrayList |
| 链表 | 非连续,增删快查询慢 | LinkedList |
Object[] elementData)oldCapacity + (oldCapacity >> 1)size = 有效元素个数(非数组长度);size <= capacityadd/get/set/remove/size/isEmpty/contains/indexOf/toArray/getFirst/getLast<E>、<K,V>、<T extends 父类>(有界类型)? 无界、? extends T 上界、? super T 下界List + Dequeitem + next + prevget/set O(1);add(尾部) 均摊 O(1);add(index)/remove/contains/indexOf O(n)
一个对象多种身份:List(列表)/ Queue(队列 offer/poll/peek)/ Deque(双端 addFirst/pollFirst/push/pop)
接口作为引用类型 = 能力限定(编译看左边)
iterator();统一遍历方式,适合无索引集合hasNext()(有无下一个)/ next()(取下一个并后移)while (it.hasNext()) { it.next(); }ConcurrentModificationExceptionMap<K,V> 双列集合;Key 唯一、Value 可重复;HashMap 无序put(键存在=覆盖修改)/ get / containsKey / remove / keySet / values / entrySet