Добавить несколько элементов в уже инициализированный 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));