LinkedListclass
属性
Node first
指向第一个节点
禁止为该属性创建 Getter Setter
Level 1 方法
void buildDemo()
强行构建对象, 使得调用后列表含有 6, 7, 3, 8, 4
方便之后调用其它方法时提供测试数据
样例
基于对象的如下状态 list: <> 调用后 list.buildDemo() list 应该是 <6, 7, 3, 8, 4>
String description()
拼接字符串描述
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 String returned = list.description() returned 应该是 "[6, 7, 3, 8, 4]"
int size()
返回当前链表尺寸
样例
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.size() returned 应该是 5
boolean isEmpty()
返回当前链表是否为空
样例
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 boolean returned = list.isEmpty() returned 应该是 false
Level 2 方法
int get(int index)
返回第 index 个元素的值
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.get(1) returned 应该是 7
样例 2
针对超出合理范围的情况,一律返回 -1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.get(5) returned 应该是 -1
int lastValue()
返回最后一个值
样例
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.lastValue() returned 应该是 4
int indexOf(int value)
查找 value 值对应的结点的索引
如果有多个, 返回第一个
如果没有,返回 -1
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.indexOf(7) returned 应该是 1
样例 2
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.indexOf(9) returned 应该是 -1
boolean contains(int value)
查找链表内是否含有 value 这个值
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 boolean returned = list.contains(7) returned 应该是 true
Level 3 方法
void add(int value)
增加一个新的结点在链表末端, 值为 value
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 list.add(9) list 应该是 <6, 7, 3, 8, 4, 9>
void push(int value)
增加一个新的结点在链表末端, 值为 value
样例 1
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 list.push(9) list 应该是 <6, 7, 3, 8, 4, 9>
int pop()
删除一个在链表末端的结点, 并返回
样例
基于对象的如下状态 list: <6, 7, 3, 8, 4> 调用后 int returned = list.pop() returned 应该是 4 list 应该是 <6, 7, 3, 8>