使用内置链接列表进行Java复制

时间:2011-07-29 14:20:19

标签: java list linked-list copy live

我有一个关于复制LinkedList的问题。我正在开发一个项目,它接收数据并将其存储在LinkedList中。这是通过网络端口的实时馈送完成的,我希望能够将此列表中的数据复制到另一个列表,以便处理收集的数据。由于总是收集数据,有一种方法像在C中更改“指针”,以便第一个列表的头部现在与第二个LinkedList相关联,因为第一个列表的第一个将为空?

3 个答案:

答案 0 :(得分:1)

second.addAll(first);
first.clear();

答案 1 :(得分:1)

听起来像你需要的是2个队列。有1个队列用于收集,1个用于处理。在某些时候,你需要来回交换它们。只要您短暂锁定开关,一切都应该没问题。没有必要乱用链表上的指针,你可以避免复制内容。

话虽这么说,也许你应该考虑查看使用Queues的Executors的并发包。在不了解您的具体任务的情况下,似乎这些可能更适合您正在做的事情,并允许您避免必须手动编码细节。

编辑:这是我正在谈论的包。 http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/package-summary.html

答案 2 :(得分:0)

其中一个:

linkedlist.push(newHeadValue);

linkedlist.addFirst(newHeadValue);

linkedlist.add(0,newHeadValue);

或者您是否明确想要一个头部没有数据的步骤?