Добавить несколько элементов в уже инициализированный arraylist в java
Я использую Google и не могу найти синтаксис. Мой arraylist
может быть заполнен по-разному на основе пользовательского параметра, поэтому я инициализировал его
ArrayList<Integer> arList = new ArrayList<Integer>();
И теперь я хотел бы добавить сто целых чисел, не делая этого один за другим с arList.add(55);
Ответы
Ответ 1
Если у вас есть другой список, содержащий все элементы, которые вы хотите добавить, вы можете сделать arList.addAll(otherList)
. В качестве альтернативы, если вы всегда добавите те же элементы в список, вы можете создать новый список, который будет инициализирован, чтобы содержать все ваши значения, и использовать метод addAll()
, с чем-то вроде
Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
arList.addAll(Arrays.asList(otherList));
или, если вы не хотите создавать лишний массив:
arList.addAll(Arrays.asList(1, 2, 3, 4, 5));
В противном случае вам придется иметь какой-то цикл, который добавляет значения в список по отдельности.
Ответ 2
Что такое "источник" этих целых чисел? Если это то, что вам нужно для жесткого кода в исходном коде, вы можете сделать
arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));
Ответ 3
Если вы хотите избежать нескольких строк кода для экономии места, возможно, этот синтаксис может быть полезен:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1");
add("value2");
}
};
Извлекая новые строки, вы можете показать его сжатым как:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1"); add("value2"); (...);
}
};
Ответ 4
Я считаю, что приведенный выше ответ неверен, правильным способом инициализации с несколькими значениями будет...
int[] otherList ={1,2,3,4,5};
поэтому полный ответ с правильной инициализацией будет выглядеть следующим образом:
int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));