gpt4 book ai didi

java - 在一个类中将对象添加到链接列表的末尾

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:37 25 4
gpt4 key购买 nike

我对 LinkedList 有点陌生,我想通过在 ExampleLinkedList 类中创建方法来练习。 test3中有一个列表。当我调用 test3 时,我得到了 Goodbye Thanks Hello。我想要的是在列表的末尾添加“AddedItem”以获得 AddedItem 再见,谢谢你好,但结果我只得到 AddedItem。如何在不编写新类的情况下修复我的 addToEnd 方法。

public class ExampleLinkedList 
{
private String data;
private ExampleLinkedList next;

public ExampleLinkedList(String data,ExampleLinkedList next)
{
this.data = data;
this.next = next;
}

public void addToEnd(String item)
{
while(next != null)
{
data = item;
next.data = data;
next = next.next;
}
}

public boolean isEmpty()
{
if(next == null)
{
return true;
}
return false;
}

public String toString()
{
String result = data;
while(next != null)
{
result = result + " " + next.data;
next = next.next;
}
return result;
}

}

public class Test
{

public static void main(String[] args)
{
ExampleLinkedList test1 = new ExampleLinkedList("Hello", null);
ExampleLinkedList test2 = new ExampleLinkedList("Thanks", test1);
ExampleLinkedList test3 = new ExampleLinkedList("Goodbye", test2);

test3.addToEnd("AddedItem");
System.out.println(test3);
}
}

最佳答案

这应该有效。它会将item设置为链表的头部

public void addToEnd(String item)
{
ExampleLinkedList newNode = new ExampleLinkedList(data, next);
data = item;
next = newNode;
}

关于java - 在一个类中将对象添加到链接列表的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com