Подтвердить что ты не робот

Как добавить все элементы массива String в вектор в 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);

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

Франк

4b9b3361

Ответ 1

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

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

Ответ 2

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(элементы)), но этот метод, вероятно, будет запущен значительно быстрее при большинстве реализаций.

Ответ 3

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