我有一个关于复制LinkedList
的问题。我正在开发一个项目,它接收数据并将其存储在LinkedList
中。这是通过网络端口的实时馈送完成的,我希望能够将此列表中的数据复制到另一个列表,以便处理收集的数据。由于总是收集数据,有一种方法像在C中更改“指针”,以便第一个列表的头部现在与第二个LinkedList
相关联,因为第一个列表的第一个将为空?
答案 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);
或者您是否明确想要一个头部没有数据的步骤?