gpt4 book ai didi

java - 尝试将 ArrayList 转换为 LinkedList。不知道为什么这不起作用

转载 作者:行者123 更新时间:2023-12-04 20:15:07 25 4
gpt4 key购买 nike

编辑:不知道为什么,但代码现在似乎无需任何编辑即可运行。可能是 jGrasp 调试器有问题?

===

好的。所以这是我的家庭作业,将在 2 周后布置,但我想抢先一步。请不要更正我的代码,或分享正确的代码。如果您能指出我正在做的事情中的错误,那就太好了。

所以我有一个 node具有以下构造函数:

public node(String name)
public node(String name, node next)

我需要写一个方法 public method(ArrayList<String> names)在一个单独的类中,该类将添加来自 names 的所有元素进入链表。

这是我现在拥有的:

public method(ArrayList<String> names) {
if(names.size() == 0 || names == null) {
throw new IllegalArgumentException();
}

// Handle base case, create first node
first = new node(names.get(0)); // first has been declared above

node current = first;

// Add at the end of the list
for(int i = 1; i < names.size(); i++) {
current.next = new node(names.get(i));
current = current.next;
}

}

我不确定为什么这不能按要求工作。我正在使用 jGrasp,并使用调试器,我看到最后我得到了一个只有 1 个值的链表(ArrayList 中的最后一个元素)。为什么?

请不要推荐使用任何高级功能,因为我是 Java 的新手,使用任何进一步的高级功能只会让我感到困惑。

最佳答案

我认为您正在从该方法返回最后一个节点,而您需要返回第一个节点,因为它包含所有进一步链接的节点。您应该返回第一个节点而不是当前节点。

如果您仍然有问题,请告诉我们您如何测试它以得出它只包含最后一个元素的结论。

关于java - 尝试将 ArrayList 转换为 LinkedList。不知道为什么这不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14421774/

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