小编Tim*_*ayB的帖子

如何在 Java 中使用 for-each 循环构造 LinkedList?

我正在尝试找出一种使用 for-each 循环构造 LinkedList 的方法。

我已经按照我目前的方式设置了并且它有效。我只是发现它非常难看,因为我必须在循环外部声明一个 listNode ,而其余部分则在 for 循环内声明。我无法摆脱这种感觉,这是一个笨拙的解决方案。

怎么写的——

private listNode nameList;

public listManager(ArrayList<String> names) {
    nameList = new listNode(names.get(0));
    listNode current = nameList;
    for (int i = 1;  i < names.size(); i++) {
        current.next = new listNode(names.get(i));
        current = current.next;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用 for-each 循环并使所有内容更具可读性,但我遇到了当 current 为空时尝试获取 current.next 的问题,因此我得到了 nullpointerException。有任何想法吗?

我多么希望它理想地喜欢它写的但不起作用-

listNode current = nameList;
for (String person : names) {
    current.next = new listNode(person);
    current = current.next;
} 
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!:)

java constructor readability linked-list

2
推荐指数
1
解决办法
5506
查看次数

标签 统计

constructor ×1

java ×1

linked-list ×1

readability ×1