我有一段代码可以构建一个自定义类类型的ArrayList作为函数的输出。然后,我尝试将此ArrayList添加(Concot)到ConcurrentLinkedDeque。似乎发生的是ConcurrentLinkedDeque最终包含ArrayList中最后一个元素的ArrayList.size()。
我已经做了各种检查,看看ArrayList是否正确构建并包含正确的元素,但似乎没有看到这个问题。将收藏添加到ConcurrentLinkedDeque是否有任何特殊之处?
答案 0 :(得分:1)
你可以尝试这样的事吗
public class ConcurrentLDTrial{
public static void main(String[] args) {
List<Integer> a = new ArrayList<Integer>();
a.add(2);
a.add(3);
ConcurrentLinkedDeque<Integer> cd = new ConcurrentLinkedDeque<Integer>(a);
System.out.println(cd);
}
}
我得到的输出是[2,3],这是预期的。
将数据结构适当地转换为自定义类。
答案 1 :(得分:0)
现在似乎有用了。我发现了一个涉及内存分配的bug。
addall(Collection)适用于ConcurrentLinkedDeque。