2012-01-24 4 views
28

ArrayListに+、 - 、*、^などの文字を入力したいのですが、どうすればarrayList.add()の文字を追加する必要はありませんか?あなたがList<Character>が必要な場合は、もう少し作業が必要になりますArrayList.addAll()の使用方法は?

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

答えて

65

Collections.addAllです。

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

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

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

、しかし、あなたはArrayListには、固定長さとの良好な場合は、あなたが創造して行くことができますlist = Arrays.asList(...)のように簡単です。 Arrays.asList specificationは、固定長のリストを返します。これは、渡された配列の橋渡しとして機能します。これは必要でない可能性があります。

0

が、これはあなたにArrayListを返しますJavaで

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

使用Arraysクラスに役立ちますように。

+0

、それは '一覧'あなたは、単に変更するためにそうしないと、変更可能なリストを作成するために、ArrayListのコンストラクタに渡すことができます'' '' 'を 'List 'に変更します。ジェネリックスが残りの部分を処理します。 – bezmax

5

あなたは文字が含まれてArrayListを持っていると仮定すると、あなたはこれを行うことができます:

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

リストは、If:

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

'Collections.addAll'は、指定されたアイテムを繰り返し処理するより簡単な方法です。 'Arrays.asList'では一時的な' List'オブジェクトを作成して同じ結果を得ます。 – bezmax

+0

@Max Yes、tha本当です。 – Jesper

1

あなたは1行でこれを行うには可変引数でasListメソッドを使用することができますそれ以上の変更が必要ない場合は、既に十分です。あなたのような、Googleのグアバを使用することができます

new ArrayList(Arrays.asList('+', '-', '*', '^')); 
3

:実は

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