如何在列表末尾添加节点?

时间:2017-04-11 20:27:19

标签: java

我正在尝试在列表的末尾添加一个节点。这段代码是对的吗?

public void insertLast(int id,double dd)
{
    Link current=First;
    while(current!=null)
    {
        current=current.next;
    }

    Link temp=new Link(id,dd);
    temp.next=current;
    current=temp;
}

1 个答案:

答案 0 :(得分:2)

将循环条件current!=null更改为

current.next != null

因为已经指出,在循环结束后current将是null,并且您希望current成为列表中的最后一个节点。但是,如果您选择这样做,那么您还需要在方法的开头检查First是否为null,因为如果是,则循环将抛出异常,因为您无法检查null对象的下一个元素。

public void insertLast(int id,double dd)
{
    Link current=First;
    if(current == null) {
        First = new Link(id,dd);
        First.next = null;
        return;
    }
    while(current.next != null)
    {
        current=current.next;
    }

    Link temp = new Link(id,dd);
    current.next = temp;
    temp.next = null;
}