Je veux remplir un ArrayList
avec ces caractères +, -, *, ^ etc. Comment puis-je faire cela sans avoir à ajouter chaque caractère avec arrayList.add()
?
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.
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('+', '-', '*', '^'));
Vous pouvez utiliser Google goyave en tant que tel:
ImmutableList<char> dirs = ImmutableList.of('+', '-', '*', '^');
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('+', '-', '*', '^'));
Peut-être que cela aide
List<String> l = Arrays.asList("+","-");
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>
.