繁体   English   中英

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

[英]How do I set an element in a list without using LinkedList methods

对于家庭作业,我正在编写一个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()方法正常工作。)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM