Как добавить все элементы массива String в вектор в Java? - PullRequest
20 голосов
/ 05 марта 2010

Мой код выглядит так:

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

Но я получил сообщение об ошибке, как правильно это сделать, не добавляя каждый элемент в цикле?

Frank

Ответы [ 3 ]

56 голосов
/ 05 марта 2010
Collections.addAll(myVector, myArray);

Это предпочтительный способ добавления содержимого массива в коллекцию (например, вектор).

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

Добавляет все указанные элементы в указанную коллекцию. Добавляемые элементы могут быть указаны индивидуально или в виде массива. Поведение этого удобного метода идентично поведению c.addAll (Arrays.asList (elements)), но этот метод может выполняться значительно быстрее при большинстве реализаций.

19 голосов
/ 05 марта 2010

vector.addAll () принимает коллекцию в параметре. Чтобы преобразовать массив в коллекцию, вы можете использовать Arrays.asList ():

My_Vector.addAll(Arrays.asList(My_Array));
6 голосов
/ 05 марта 2010
My_Vector.addAll(Arrays.asList(My_Array));

Если вы заметили, Collection.addAll принимает аргумент Collection.Массив Java не является Collection, но Arrays.asList в сочетании с Collection.toArray является «мостом между API на основе массива и на основе коллекции».

Кроме того, для конкретной цели добавления элементов из массива в Collection можно также использовать статический вспомогательный метод addAll из класса Collections.

Collections.addAll(My_Vector, My_Array);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...