姬長信(Redy)

如何复制Java Collections列表


我有一个ArrayList,我想完全复制它.我假设有人花了一些时间使其正确,我尽可能使用实用程序类.很自然地,我最终得到了包含复制方法的Collections类.

假设我有以下内容:

List a = new ArrayList();
a.add("a");
a.add("b");
a.add("c");
List b = new ArrayList(a.size());

Collections.copy(b,a);

这失败了,因为基本上它认为b不足以容纳一个.是的我知道b的大小为0,但现在它应该足够大了不应该吗?如果我必须首先填充b,那么Collections.copy()在我的脑海中变成一个完全无用的函数.那么,除了编写一个复制函数(我现在要做的)之外,还有一种正确的方法吗?