Как добавить все объекты в Массиве строк к вектору в Java?

Мой код похож на это:

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

20
задан Frank 5 March 2010 в 02:42
поделиться

3 ответа

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

My_Vector.addAll(Arrays.asList(My_Array));
19
ответ дан 29 November 2019 в 22:32
поделиться
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)), но этот метод, вероятно, будет работать значительно быстрее в большинстве реализаций. .

56
ответ дан 29 November 2019 в 22:32
поделиться
My_Vector.addAll(Arrays.asList(My_Array));

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

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

Collections.addAll(My_Vector, My_Array);
6
ответ дан 29 November 2019 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: