我的代码如下所示:
Vector<String> My_Vector=new Vector<String>();
String My_Array[]=new String[100];
for (int i=0;i<100;i++) My_Array[i]="Item_"+i;
......
My_Vector.addAll(My_Array);
但是我收到了一条错误消息,正确的方法是什么,没有循环添加每个项目?
谢
答案 0 :(得分:56)
Collections.addAll(myVector, myArray);
这是将数组内容添加到集合(例如矢量)中的首选方法。
将所有指定的元素添加到指定的集合中。 要添加的元素可以单独指定,也可以指定为数组。该 这种方便方法的行为与 c.addAll(Arrays.asList(elements)),但这种方法可能会运行 在大多数实现中显着更快。
答案 1 :(得分:19)
vector.addAll()接受参数中的Collection。 要将数组转换为Collection,可以使用Arrays.asList():
My_Vector.addAll(Arrays.asList(My_Array));
答案 2 :(得分:6)
My_Vector.addAll(Arrays.asList(My_Array));
如果您注意到,Collection.addAll
需要Collection
个参数。 Java数组不是Collection
,但Arrays.asList
与Collection.toArray
结合使用,是“基于数组和基于集合的API之间的桥梁”。
或者,为了将数组中的元素添加到Collection
的特定目的,您还可以使用Collections
类中的静态帮助方法addAll
。
Collections.addAll(My_Vector, My_Array);