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

Java 如何在不使用LinkedList方法的情况下设置列表中的元素,java,list,linked-list,Java,List,Linked List,作为家庭作业,我正在编写一个LinkedList类,它将取代LinkedList方法。我正在研究“集合”方法 下面是我到目前为止对set()方法的介绍。它接受int index和X项作为参数。节点的头部位于名为first的变量中。(整个类是泛化的。) Node p=新节点(); 如果(索引大小()-1){ 扔新的篝火; } 整数计数=0; while(计数!=索引){ p=p.next; 计数++; } 如果(计数==索引){ p、 项目=项目; } 节点类: public class Nod

作为家庭作业,我正在编写一个LinkedList类,它将取代LinkedList方法。我正在研究“集合”方法

下面是我到目前为止对set()方法的介绍。它接受
int index
X项
作为参数。节点的头部位于名为
first
的变量中。(整个类是泛化的。)

Node p=新节点();
如果(索引<0 | |索引>大小()-1){
扔新的篝火;
}
整数计数=0;
while(计数!=索引){
p=p.next;
计数++;
}
如果(计数==索引){
p、 项目=项目;
}
节点类:

public class Node<T>
{
    T item;
    Node<T> next;
}
公共类节点
{
T项;
节点下一步;
}
当我去运行我的代码对一些测试代码,我有,它失败的测试

测试代码:

LList<String> b = new LList<String>();
b.add("Hello");
b.add("Bye");
b.set(0, "Bonjour");
assertEquals("Bonjour", b.get(0));
LList b=新的LList();
b、 加上(“你好”);
b、 添加(“再见”);
b、 集合(0,“你好”);
assertEquals(“你好”,b.get(0));
测试失败原因:
org.junit.ComparisonFailure:应为:但为:

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


所以我的问题是,我如何让它正确地设置元素?从这段代码,以及为什么它没有通过测试,看起来它根本没有设置任何东西。如果你需要我提供任何额外的信息,请尽管问我。谢谢你的帮助。谢谢

我所需要做的就是更改
节点p
,使其成为
节点p=第一

创建新的
节点
有什么原因吗?你没有将头存储在字段中吗?在我的其他方法中,我从未使用过头。你似乎只是在创建一个新的
节点
,它没有任何指向任何其他
节点的链接。你的类有字段吗?我实际上忘记了我为列表的第一部分和最后部分创建了第一个和最后一个变量,包括在
add()
方法中。是的,我认为这是你的问题。
LList<String> b = new LList<String>();
b.add("Hello");
b.add("Bye");
b.set(0, "Bonjour");
assertEquals("Bonjour", b.get(0));