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

标签 java arraylist linked-list

编辑:不知道为什么,但代码现在似乎无需任何编辑即可运行。可能是 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/

相关文章:

java - JDBC:与数据库无关

java - 如何在 Java 中从 DynamoDB getItem 获取特定属性值

java arrayList循环性能

java - 在 ArrayList<String> 中查找

java - 从ArrayList中选择某些数据

c - 在链表计算器中添加值

来自主命令行的 Java 模态对话框

java - 读取文本文件时出现问题,烦人的错误

c++ - 如何在C++中将对象转换为链表?

c++ - 当我试图通过我的函数打印我的列表时出现段错误