Lec10 - Iterators, Object Methods Iterators 使用迭代器可以让自己的数据类型可以被迭代(支持for-each loop) 需要让对应类实现Iterable接口 具有Iterato...
【CS61B】Lec9-Subtype Polymorphism, Comparators, Comparables, Generic Functions
Lec9-Subtype Polymorphism, Comparators, Comparables, Generic Functions Subtype Polymorphism Java中没有重载运算符,故我们需要使用Co...
【CS61B】Lec8-Interface & Inheritance
Interface & Inheritance 重载 Java允许多个方法拥有相同名称,只要他们的参数不同,这就是Java中的重载 重载的优缺点: 代码基本一样 对其余猎豹不适用,需要增加重载 难维护 H...
【CS61B】Lec6-ArrayLists
ArrayList Array中的随机访问 根据指定位置获取a数组中的元素是很快的,原因如下: 与数组大小无关 内存空间其实都是相同的大小 实现 添加删除元素 观察发现: 元素个数可以用size表示 在结...
【CS61B】Lec6-Testing
Testing Unit Tests 测试库 可以使用一些库中的语句进行测试,如:Truth库、JUnits库等 12345678910111213141516package lec6;import static com.go...
【CS61B】Lec5-DLList
DLList DLList 为了让remove等操作更加高效,我们在SLList的基础上进行改进,变为双向链表,这样有利于提升操作效率 同时,对于头节点的操作,我们可以用两个头节点,但更好的方法是使用循环链表 具体实现详见Pr...
【CS61B】Lec4-SLList
SLList SLList 我们将对前面创建的链表进行封装与优化 对上节课的IntList的修改: 123456789101112package lec4;public class IntNode { public in...
【CS61B】Lec3-Java Basic2
Java Basic 2 声明变量的原理 计算机留出对应变量类型的内存空间 Java创建一个内部表用来将变量名与各个位进行对应 首次声明时,Java不会在这些空间里写入任何东西,但你不可以使用一个未定义的变量,对变量赋值后...
【CS61B】Lec2-Java Basic 1
Java Basic 1 关于类 每个方法(method)都与某些类相关 执行一个类需要主(main)方法,但不是所有类都有主方法 e.g. 创建一个狗类 123456789101112131415161718192...
【CS61B】Lab3-Debugging2
Lab3-Debugging2 给予项目Adventure来进行调试并修改代码 学会阅读堆栈追踪 运行主方法后,会在某个位置抛出异常: 一般作物类型会在报错第一行出现,如该处出现错误:NullPointerExceptio...