3

の配列がありString、次の行に沿って何かを実行できるようにしたいと考えています

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> listOfStrings = new ArrayList<String>( arrayOfStrings );

また

List<String> listOfStrings = new ArrayList<String>();
listOfStrings.addAll( arrayOfStrings );

文字列が既にコレクションに含まれている場合は、これらの両方を実行できます。また、配列を反復処理して個別に追加できることもわかっていますが、これは少し面倒です。

List配列で(またはそのコレクションを)初期化する方法はありますか?

4

5 に答える 5

10

メソッドを使用できますArrays.asList。このメソッドは を受け取り、配列に基づくvar-args固定サイズを返します。Listしたがって、このリストに要素を追加することはできません。さらに、 の要素に加えられた変更は、Listに反映されますarray

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = Arrays.asList(arrayOfStrings);

また: -

List<String> list = Arrays.asList("this", "is", "an", "array", "of", "strings");

このリストのサイズを増やしたい場合は、ArrayListコンストラクターで渡す必要があります。

List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));
于 2013-02-07T21:49:15.387 に答える
3

Arrays.asList()静的メソッドを使用できます。

例えば:

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = Arrays.asList(arrayOfStrings);

このような方法で「配列によってバックアップされた」固定サイズのリストを作成することに注意してください。拡張できるようにしたい場合は、次の方法を実行する必要があります。

String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));
于 2013-02-07T21:49:04.133 に答える
1

これはあなたの質問に正確に当てはまらないかもしれませんが、検討する価値があるかもしれません.

List<String> list = Arrays.asList("this", "is", "an", "array", "of", "strings");
于 2013-02-07T21:53:30.167 に答える
1

asList() を使用できます

Arrays.asList(T... a) 指定された配列に基づく固定サイズのリストを返します。

http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

于 2013-02-07T21:49:27.207 に答える