Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中对同步列表使用addAll_Java - Fatal编程技术网

在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)
}