22

私のコードは次のようになります:

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

しかし、エラーメッセージが表示されました.各アイテムを追加するためにループせずに、それを行う正しい方法は何ですか?

フランク

4

3 に答える 3

61
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)) の動作と同じですが、このメソッドはほとんどの実装で大幅に高速に実行される可能性があります。

于 2010-03-05T00:03:25.850 に答える
20

vector.addAll() は Collection in パラメータを取ります。配列をコレクションに変換するには、Arrays.asList() を使用できます。

My_Vector.addAll(Arrays.asList(My_Array));
于 2010-03-05T00:04:07.580 に答える
6
My_Vector.addAll(Arrays.asList(My_Array));

気がつけば、引数Collection.addAllを取ります。CollectionJava 配列は ではありませんCollectionArrays.asList、 と組み合わせるとCollection.toArray、「配列ベースの API とコレクション ベースの API の間の架け橋」になります。

または、配列から に要素を追加するという特定の目的のために、クラスからCollectionstatic ヘルパー メソッドを使用することもできます。addAllCollections

Collections.addAll(My_Vector, My_Array);
于 2010-03-04T23:59:24.270 に答える