开发者

How to add all items in a String array to a vector in Java?

开发者 https://www.devze.com 2022-12-21 19:55 出处:网络
My code looks like this : Vector<String> My_Vector=new Vector<String>()开发者_开发技巧;

My code looks like this :

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);

But I got an error message, what's the right way to do it, without looping to add each item ?

Frank


Collections.addAll(myVector, myArray);

This is the preferred way to add the contents of an array into a collection (such as a vector).

https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#addAll-java.util.Collection-T...-

Adds all of the specified elements to the specified collection. Elements to be added may be specified individually or as an array. The behavior of this convenience method is identical to that of c.addAll(Arrays.asList(elements)), but this method is likely to run significantly faster under most implementations.


The vector.addAll()takes a Collection in parameter. In order to convert array to Collection, you can use Arrays.asList():

My_Vector.addAll(Arrays.asList(My_Array));


My_Vector.addAll(Arrays.asList(My_Array));

If you notice, Collection.addAll takes a Collection argument. A Java array is not a Collection, but Arrays.asList, in combination with Collection.toArray, is the "bridge between array-based and collection-based APIs".

Alternatively, for the specific purpose of adding elements from an array to a Collection, you can also use the static helper method addAll from the Collections class.

Collections.addAll(My_Vector, My_Array);
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号