我的代码如下所示:
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);
但是我收到一条错误消息,不循环添加每个项目的正确方法是什么?
坦率
Collections.addAll(myVector, myArray);
这是将数组的内容添加到集合(例如向量)中的首选方式。
将所有指定元素添加到指定集合。要添加的元素可以单独指定,也可以作为数组指定。此便捷方法的行为与 c.addAll(Arrays.asList(elements)) 的行为相同,但此方法在大多数实现下可能运行得更快。
vector.addAll() 接受一个 Collection in 参数。为了将数组转换为 Collection,您可以使用 Arrays.asList():
My_Vector.addAll(Arrays.asList(My_Array));
My_Vector.addAll(Arrays.asList(My_Array));
如果您注意到,请Collection.addAll
争论Collection
。Java 数组不是Collection
,而是Arrays.asList
结合Collection.toArray
,是“基于数组和基于集合的 API 之间的桥梁”。
或者,为了将数组中的元素添加到 a 的特定目的Collection
,您还可以使用类中的静态辅助addAll
方法Collections
。
Collections.addAll(My_Vector, My_Array);