我一直在尝试寻找此方法所遇到的错误的解决方案:
public Object[] toArray() {
int size = 1;
Node curr = head;
while (curr.getNext() != null) {
size++;
curr = curr.getNext();
}
Object[] arr = new Object[size];
arr[0] = head.getItem();
curr = head;
for (int i = 1; i < size; i++) {
arr[i] = curr.getNext().getItem();
}
return arr;
}
该方法的目标是简单地返回集合中所有项目的对象数组。这个方法是我的类“Set”的一部分,它是我的“LinkedList”类的子类,它使我可以访问实例变量 head。该方法将获取我的列表并将第一个元素和第二个元素添加到数组中,然后不再继续添加第三个、第四个元素等。它只是用列表中的第二个元素填充数组的其余部分。
有人能给我一些建议吗?谢谢!
最佳答案
在开始第二次迭代之前,您似乎忘记将 curr
重置回 head
。否则,您将从末尾开始,而不是从头开始。
关于java - 创建一个返回集合中所有项目的数组(链接列表)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038294/