如何在Java中复制或克隆LinkedList实现的队列?

2022-09-02 09:35:10

我有一个 q1,它实现为 ,我想定义一个 q2,它是 q1 的一个单独但完全相同的实例。QueueLinkedListQueueQueue

我该怎么做,因为没有实现?QueueCloneable


答案 1

在一个衬垫中:

new LinkedList<>(myQueue);

因为 和 集合有一个构造函数需要另一个构造函数,所以这是做浅克隆的快速方法。Queue extends CollectionCollection

如果您愿意,可以用您自己的实现替换。LinkedListQueue

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


答案 2

你可以使用迭代器:

Iterator<Integer> it = q1.iterator();
while(it.hasNext())  {
   q2.add(it.next());
}