web-dev-qa-db-ja.com

ArrayList.addAll()の使用方法は?

ArrayListにこれらの文字+、-、*、^などを入力します。すべての文字をarrayList.add()で追加せずにこれを行うにはどうすればよいですか。

35
masb

Collections.addAll はあなたが望むものです。

_Collections.addAll(myArrayList, '+', '-', '*', '^');
_

別のオプションは、次のように Arrays.asList を使用してリストをコンストラクターに渡すことです。

_List<Character> myArrayList = new ArrayList<Character>(Arrays.asList('+', '-', '*', '^'));
_

ただし、arrayListの長さが固定されている場合は、list = Arrays.asList(...)と同じくらい簡単に作成できます。 Arrays.asList specification は、渡された配列へのブリッジとして機能するfixed-lengthリストを返すことを示します。必要なものではありません。

79
bezmax

文字を含むArrayListがあると仮定すると、これを行うことができます。

List<Character> list = new ArrayList<Character>();
list.addAll(Arrays.asList('+', '-', '*', '^'));
7
Jesper

Google guavaは次のように使用できます。

ImmutableList<char> dirs = ImmutableList.of('+', '-', '*', '^');
3
leokash

asListメソッドと可変引数を使用して、1行でこれを行うことができます。

Java.util.Arrays.asList('+', '-', '*', '^');

リストをさらに変更する必要がない場合は、これで十分です。それ以外の場合は、ArrayListコンストラクターに渡して、可変リストを作成できます。

new ArrayList(Arrays.asList('+', '-', '*', '^'));
1
Jörn Horstmann

これが役立つかもしれません

List<String> l = Arrays.asList("+","-");
0
baba.kabira

JavaでArraysクラスを使用すると、ArrayListが返されます。

final List<String> characters = Arrays.asList("+","-");

List<Character>が必要な場合は、もう少し作業が必要になります。

0
vanadium