java.util.AbstractQueue的DeepCopy

时间:2016-03-01 08:45:51

标签: java data-structures deep-copy

我需要创建java.util.AbstractQueue实例的深层副本,因为该队列的创建速度相当慢(例如getTextBlocks(doc))并且我想在迭代器中重用该对象

AbstractQueue<TextBlock> cache= getTextBlocks(doc);

我试过了

AbstractQueue aq = new ConcurrentLinkedQueue(cache);

但这显然不起作用,因为底层对象显然仍然相同。有没有办法对该结构进行深层复制?我使用了Apache Commons集合中的Collections.copy(a,b),但这只适用于列表,而不是在AbstractQueue上,因为签名显示:

public static <T> void copy(List<? super T> dest, List<? extends T> src)

1 个答案:

答案 0 :(得分:0)

您可以尝试具有相当出色性能的Cloner库:

https://github.com/kostaskougios/cloning