web-dev-qa-db-fra.com

Comment utiliser ArrayList.addAll ()?

Je veux remplir un ArrayList avec ces caractères +, -, *, ^ etc. Comment puis-je faire cela sans avoir à ajouter chaque caractère avec arrayList.add()?

35
masb

Collections.addAll est ce que vous voulez.

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

Une autre option consiste à passer la liste dans le constructeur en utilisant Arrays.asList comme ceci:

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

Si, cependant, vous êtes bon avec la arrayList étant de longueur fixe, vous pouvez aller avec la création aussi simple que list = Arrays.asList(...). spécification Arrays.asList indique qu'elle renvoie une liste de longueur fixe qui agit comme un pont vers le tableau transmis, ce qui pourrait ne soyez pas ce dont vous avez besoin.

79
bezmax

En supposant que vous ayez un ArrayList contenant des caractères, vous pouvez faire ceci:

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

Vous pouvez utiliser Google goyave en tant que tel:

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

Vous pouvez utiliser la méthode asList avec varargs pour le faire sur une seule ligne:

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

Si la liste n'a pas besoin d'être modifiée davantage, cela suffira déjà. Sinon, vous pouvez le transmettre au constructeur ArrayList pour créer une liste mutable:

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

Peut-être que cela aide

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

Utilisez la classe Arrays dans Java qui vous renverra un ArrayList:

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

Vous aurez besoin d'un peu plus de travail si vous avez besoin d'un List<Character>.

0
vanadium