Java 单链表-获取和添加方法

Java 单链表-获取和添加方法,java,node.js,linked-list,queue,singly-linked-list,Java,Node.js,Linked List,Queue,Singly Linked List,因此,我试图通过完成以下实现来实现一个SLList类: get(i),set(i,x),add(i,x)和remove(i)操作,每个操作都在O(1+i)时间内运行 我在程序中遇到的困难是add和get方法。我不断收到错误不兼容类型:SLList。节点无法转换为int,并且不兼容类型:SLList。节点无法转换为int 我对如何修理它们感到很困惑。我今天刚刚学习了链表,我正在努力理解链表的概念。任何帮助或提示都将不胜感激 public T get(int i) { // TODO: Im

因此,我试图通过完成以下实现来实现一个SLList类:

get(i)
set(i,x)
add(i,x)
remove(i)
操作,每个操作都在O(1+i)时间内运行

我在程序中遇到的困难是add和get方法。我不断收到错误
不兼容类型:SLList。节点无法转换为int
,并且
不兼容类型:SLList。节点无法转换为int

我对如何修理它们感到很困惑。我今天刚刚学习了链表,我正在努力理解链表的概念。任何帮助或提示都将不胜感激

public T get(int i) {
    // TODO: Implement this
    Node u = head;
    for(int j = 0; j < i; j++){
        i = u.next;
    }
    return u;
    if (i < 0 || i > n - 1) throw new IndexOutOfBoundsException();
    return null;
}


public void add(int i, T x) {
        Node u = new Node();
        u.x = x;
        if (i == 0) {
            head = u;
        } else {
            tail.next = u;
        }
        tail = u;
        i++;
        return true;
        if (i < 0 || i > n) throw new IndexOutOfBoundsException();
}
publictget(inti){
//TODO:实现这一点
节点u=头部;
对于(int j=0;jn-1)抛出新的IndexOutOfBoundsException();
返回null;
}
公共无效添加(int i,T x){
节点u=新节点();
u、 x=x;
如果(i==0){
水头=u;
}否则{
tail.next=u;
}
尾=u;
i++;
返回true;
如果(i<0 | | i>n)抛出新的IndexOutOfBoundsException();
}
我应该提到每个函数的类型T和void必须保持原样。我还认为我应该在代码中包含IndexOutOfBoundsException部分


如果你们想在这里看到我的完整代码:

节点
类中,
下一个
的类型是
节点
,而在
获取
方法中,将
节点
分配给一个整数变量:

i=u.next


我看不到您的整个实现,但我认为应该是
u=u

get
方法中,您试图将
节点
分配给第5行的
int
变量。相反,您应该编写
u=u-next

您的
get
方法返回
节点,而不是
T
。您的
add
方法不应返回
true
,因为它已声明为
void
我可以查看您的
节点
类吗?