如何在Java中复制队列?

Raz*_*zer 14 java queue clone cloneable

我有一个Queueq1,我想创建一个QueueQueueq1 相同的q2.如何做到这一点,因为Queue没有实现Cloneable.

Kay*_*man 19

在一个班轮:

new LinkedList<>(myQueue);

因为Queue extends Collection,而且集合有一个构造函数需要另一个Collection,这是一个快速的方法来做一个浅层克隆.

如果您愿意LinkedList,可以用自己的Queue实现替换.

另外,阅读javadocs.他们有所有的答案.

  • new LinkedList <MyObject>(myQueue); 应该做 (4认同)

mhe*_*ert 5

您可以使用迭代器:

Iterator<Integer> it = q1.iterator();
while(it.hasNext())  {
   q2.add(it.next());
}
Run Code Online (Sandbox Code Playgroud)