Я хочу заполнить ArrayList
этими символами +, -, *, ^ и т.д. Как я могу это сделать без добавления каждого символа с помощью arrayList.add()
?
Как использовать ArrayList.addAll()?
Ответ 1
Collections.addAll - это то, что вы хотите.
Collections.addAll(myArrayList, '+', '-', '*', '^');
Другой вариант - передать список в конструктор с помощью Arrays.asList следующим образом:
List<Character> myArrayList = new ArrayList<Character>(Arrays.asList('+', '-', '*', '^'));
Если, однако, вы хорошо разбираетесь в том, что массивList имеет фиксированную длину, вы можете пойти с созданием так же просто, как list = Arrays.asList(...)
. Спецификация Arrays.asList утверждает, что он возвращает список фиксированной длины, который действует как мост к переданному массиву, что может быть не тем, что вы необходимо.
Ответ 2
Предполагая, что у вас есть ArrayList
, который содержит символы, вы можете сделать это:
List<Character> list = new ArrayList<Character>();
list.addAll(Arrays.asList('+', '-', '*', '^'));
Ответ 3
Вы можете использовать Google guava как таковой:
ImmutableList<char> dirs = ImmutableList.of('+', '-', '*', '^');
Ответ 4
Вы можете использовать метод asList
с varargs, чтобы сделать это в одной строке:
java.util.Arrays.asList('+', '-', '*', '^');
Если список не нуждается в дальнейшем изменении, этого уже будет достаточно. В противном случае вы можете передать его конструктору ArrayList для создания изменяемого списка:
new ArrayList(Arrays.asList('+', '-', '*', '^'));
Ответ 5
Может быть, это помогает
List<String> l = Arrays.asList("+","-");
Ответ 6
Используйте класс Arrays
в Java, который вернет вам ArrayList
:
final List<String> characters = Arrays.asList("+","-");
Вам понадобится немного больше работы, если вам нужен List<Character>
.