CS61B 课程笔记(Lecture 14 Exceptions, Iterators, Iterables)
CS61B 课程笔记(Lecture 14 Exceptions, Iterators, Iterables)
列表、集合和数组集合
6.1 列表、集合和数组集合 · Hug61B
- 列表:数据结构,用于存储元素的有序集合。
- 集合:存储唯一元素的无序集合。
- 数组集合:自定义集合类。
6.2 抛出异常 · Hug61B
- 异常:程序执行中出现的错误,导致控制流停止。
- 抛出异常:通过
throw
语句手动触发异常。
6.3 迭代 · Hug61B
- 迭代:遍历集合或列表中的元素。
异常处理
列表和集合的使用
在本节中,我们将学习如何使用 Java 内置的 List 和 Set 数据结构,并构建我们自己的 ArraySet。
示例代码:
1 | List61B<Integer> L = new AList<>(); |
Java 内置列表
Java 提供了 List 接口和多种实现(如 ArrayList),使用时需实例化实现类。
示例代码:
1 | import java.util.List; |
集合
集合是唯一元素的集合。Java 提供了 Set 接口及其实现(如 HashSet)。
示例代码:
1 | import java.util.Set; |
Python 集合
Python 中使用 set()
来创建集合,检查元素是否存在使用
in
关键字。
示例代码:
1 | s = set() |
自定义 ArraySet
目标是实现一个包含以下方法的 ArraySet:
add(value)
:添加值,如果不存在则添加。contains(value)
:检查值是否在集合中。size()
:返回集合的大小。
当前代码:
1 | import java.util.Iterator; |
抛出异常
NullPointerException
当尝试将 null
添加到 ArraySet 时,contains
方法中的 items[i].equals(x)
会抛出异常。
更新的 add 方法:
1 | public void add(T x) { |
异常处理的好处
- 控制程序流:开发者可以决定程序在何时停止。
- 提供更有用的异常类型和错误消息。
捕获异常
- 未捕获的异常:程序崩溃的原因。
- 检查异常与未检查异常:不同类型的异常处理方式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Totoroの旅!
评论