在Java中对同步列表使用addAll
我有一个在Java中对同步列表使用addAll,java,Java,我有一个列表,定义如下: protected List<GameElement> elements = Collections.synchronizedList(new LinkedList<>()); 是否有更简洁的方法向列表元素添加元素?您不必将列表转换为LinkedList。addAll获取一个集合,List实现集合本身 protected void addElements(GameElement... elements){ // either:
列表
,定义如下:
protected List<GameElement> elements = Collections.synchronizedList(new LinkedList<>());
是否有更简洁的方法向
列表元素添加元素?您不必将列表转换为LinkedList。addAll获取一个集合,List实现集合本身
protected void addElements(GameElement... elements){
// either:
this.elements.addAll(Arrays.asList(elements));
// or as @VGR commented:
Collections.addAll(this.elements, elements)
}
这里面有什么不干净的?你想在元素上做一个循环并逐个添加它们吗?为什么你要费心于addAll
中的LinkedList
?为什么不只是this.elements.addAll((array.asList(elements))
?出于某种原因,上次我检查时它不起作用;但现在它起作用了。谢谢!我修复了你的编译器:)实际上,Collections.addAll(this.elements,elements)
是首选。声称它可以提供显著的性能优势。
protected void addElements(GameElement... elements){
// either:
this.elements.addAll(Arrays.asList(elements));
// or as @VGR commented:
Collections.addAll(this.elements, elements)
}