所以我正在制作应用,我需要使用链接列表的链接列表。 这是我目前的代码:
public class server{
private List <Group> serverList= new List <Group>();
现在,在班级&#34;组&#34;:
List <user> groupList= new List <user>();
groupList(1)=new Node (null, T x);
并且,它只是工作......在我完成这项工作之后,使用其他节点功能将变得更加容易。 我只是一名高中生,所以不要评判我。 我使用unit4 pack
编辑 unit4是Eclipse的一个扩展包,由以色列教育部制作。该软件包允许您使用Node,List,Stack,Queue和BinTreeNode,而无需每次都将它们写下来。
答案 0 :(得分:1)
我想,您的List<User>
是java.util.List
如果这是正确的,那么这是一个接口 - 只是一种类可以向其用户保证的“合同”。
您无法实现界面,只是该界面的实现 - 例如java.util.LinkedList
。
在作业的左侧,可能是最通用的界面是一件好事,在作业的右侧,您必须指定该界面的所需实现。在你的情况下,这可能看起来像
import java.util.List;
import java.util.LinkedList;
List<User> = new LinkedList<>();
(我故意遗漏了第二个<User>
并且刚刚写了<>
,因为从Java版本7开始就允许这样做,并且提高了可读性。
代码中的下一个错误是,您无法使用
设置List元素groupList(1)=new Node (null, T x);
分配元素的方法是public E set(int index, E element)
,其中E是列表元素的类型。所以你的代码看起来像
groupList.set(1, new Node(null, T x));
还有一些错误。
首先,列表从索引0(零)开始,因此要填写第一个元素,您将再次调用groupList.set(0, ...)
,这是不正确的。 Set仅替换已存在的元素,但如果索引超出列表的现有边界,则会抛出异常。要添加新元素,您必须使用方法public void add(int index, E element)
。
groupList.add(new Node(null, T x));
这会将类Node的新对象添加到您(此时为空)列表的末尾。
仍然是错误 - new Node(null, T x)
的号召。似乎是您从文档或声明中复制了它,但没有正确填写所有参数。第二个参数(T x
)表明构造函数需要一些类型为T的对象(与User
中的参数List<User>
一样,这是一个通用变量。)
由于你没有在你的问题中给我们Node
的包裹(我不知道“uni4 pack”,所以也许解决方案在那里)我在那里帮不了你。
您也可以输入null
作为参数 - 如果这足以满足您的需求。
groupList.add(new Node(null, null));
如果编译器无法编译,则可以将第二个参数转换为类型:
groupList.add(new Node(null, (String)null));
看起来很奇怪,但有时编译器需要提示; - )。
如果您更新问题并提供有关您必须解决的问题的详细信息,我可以在此处为您提供更具体的帮助。