如何在不使用LinkedList方法的情况下在列表中设置元素

时间:2019-03-09 06:13:38

标签: java list linked-list

对于家庭作业,我正在编写一个LinkedList类,该类取代了LinkedList方法。我正在研究“设置”方法。

这是我到目前为止对set()方法的了解。它以int indexX item作为参数。节点的头位于名为first的变量中。 (整个类是通用的。)

Node<X> p = new Node<X>();
if(index < 0 || index > size()-1){
    throw new Bonfire();
}
int count = 0;
while(count != index){
    p = p.next;
    count++;
}
if(count == index){
    p.item = item;
}

节点类:

public class Node<T>
{
    T item;
    Node<T> next;
}

当我针对已有的一些测试代码运行代码时,它无法通过测试。

测试代码:

LList<String> b = new LList<String>();
b.add("Hello");
b.add("Bye");
b.set(0, "Bonjour");
assertEquals("Bonjour", b.get(0));

测试失败,原因:org.junit.ComparisonFailure: expected:<[Bonjour]> but was:<[Hello]>

(add(),size()和get()方法正常工作。)

所以我的问题是,如何获取此信息以正确设置元素?从这段代码,以及为什么测试失败的原因来看,它似乎根本没有设置任何内容。如果您需要我提供任何其他信息,请随时询问我。感谢帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

我要做的就是更改Node<X> p使其变为Node<X> p = first;