[英]doubly-linked list
嗨,我想知道如何将我的对象从arrayList复制到双向链接列表? 我的DNode构造函数也是:
public DNode(Object element, DNode prev, DNode next) {
this.element = element;
this.next = next;
this.prev = prev;
}
即当我编写这样的代码时,我的程序不起作用:
DNode node = new DNode(pointList.get(0),null, null);
for (int i = 1; i < pointList.size(); i++) {
DNode dNode = new DNode(pointList.get(i), node, null);
dList.addLast(dNode);
}
我也写了双重链表,其中有addAfter和addBefore方法,还有更多。
java.util.LinkedList
是一个双向链接列表。
所有操作均按双向链表的预期执行。
您可以通过将数组列表作为构造函数参数传递来创建它:
List linkedList = new LinkedList(arrayList);
更新: java.util.LinkedList
具有add(index, element)
,该add(index, element)
与indexOf(..)
组合起来应该覆盖addBefore
和addAfter
方法。 如果愿意,可以扩展LinkedList
以添加这些方便的方法。
假设链表末尾的元素的“ next”属性为0:
ArrayList arrayList = new ArrayList();
int next = currentElement.next;
while(next != 0) {
arrayList.add(currentElement);
next = currentElement.next;
}
您还可以使用java.util.LinkedList
因为它是双向链接列表的内置表示形式。 使用此类型意味着您可以将链接列表传递到ArrayList的构造函数中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.