2012-01-24 2 views

risposta

65

Collections.addAll è quello che vuoi.

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

Un'altra opzione è quella di passare la lista nel costruttore utilizzando Arrays.asList come questo:

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

Se, tuttavia, vi sono buone con l'arrayList essere di lunghezza fissa, si può andare con la creazione semplice come list = Arrays.asList(...). Arrays.asList specification dichiara che restituisce un elenco a lunghezza fissa che funge da ponte per l'array passato, che potrebbe non essere quello che ti serve.

0

Può essere questo aiuta

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

Usa Arrays classe in Java che restituirà Sei un ArrayList:

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

Avrete bisogno di un po 'più di lavoro se avete bisogno di un List<Character>.

+0

In realtà, per essere un 'Lista ' semplicemente cambiamento '' 'a' ''e' Elenco 'a' Lista '. Generics gestirà il resto – bezmax

5

Supponendo di avere un ArrayList contenente caratteri, si potrebbe fare questo:

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

' Collections.addAll' è un modo migliore per andare, in quanto semplicemente scorre attraverso determinati elementi aggiungendoli tutti al elenca, mentre con 'Arrays.asList' creerai un oggetto' List' temporaneo per ottenere lo stesso risultato. – bezmax

+0

@Max Sì, tha è vero – Jesper

1

È possibile utilizzare il metodo asList con varargs per fare questo in una sola riga:

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

Se la lista non ha bisogno di essere modificato ulteriormente, questo sarebbe già abbastanza. In caso contrario, si può passare al costruttore ArrayList per creare un elenco mutabile:

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

È possibile utilizzare Google guava come tale:

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