Мой код похож на это:
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
vector.addAll () принимает параметр Collection in. Чтобы преобразовать массив в Collection, вы можете использовать Arrays.asList ():
My_Vector.addAll(Arrays.asList(My_Array));
Collections.addAll(myVector, myArray);
Это предпочтительный способ добавления содержимого массива в коллекцию (например, вектор).
Добавляет все указанные элементы в указанную коллекцию. Добавляемые элементы могут быть указаны индивидуально или в виде массива. Поведение этого удобного метода идентично поведению c.addAll (Arrays.asList (elements)), но этот метод, вероятно, будет работать значительно быстрее в большинстве реализаций. .
My_Vector.addAll(Arrays.asList(My_Array));
Если вы заметили, Collection.addAll
принимает аргумент Collection
. Массив Java не является Collection
, но Arrays.asList
в сочетании с Collection.toArray
является «мостом между основанным на массиве и основанным на коллекции. API ».
В качестве альтернативы, для конкретной цели добавления элементов из массива в Коллекцию
, вы также можете использовать статический вспомогательный метод addAll
из класса Коллекции
.
Collections.addAll(My_Vector, My_Array);