Добавить несколько элементов, чтобы уже инициализированного класса ArrayList в Java



я гуглю его и не могу найти синтаксис. Мой arraylist может быть заполнено по-разному в зависимости от настроек пользователя, поэтому я инициализировал его



ArrayList<Integer> arList = new ArrayList<Integer>();


и теперь я хотел бы добавить сто целых чисел, не делая это один за другим с arList.add(55);

639   5  

5 ответов:

если у вас есть другой список, который содержит все элементы, которые вы хотите добавить, вы можете сделать 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));

в противном случае вам придется иметь какой-то цикл, который добавляет значения в список индивидуально.

каков "источник" этих целых чисел? Если это то, что вам нужно для жесткого кода в исходном коде, вы можете сделать

arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));

Если вы хотите избежать нескольких строк кода для экономии места, возможно, этот синтаксис может быть полезен:

        java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); 
                add("value2");
            }
        };

удаление новых строк, вы можете показать его сжатого, как:

        java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); add("value2"); (...);
            }
        };

Collections.addAll - это метод varargs, который позволяет нам добавлять любое количество элементов в коллекцию в одном операторе:

List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);

Он также может быть использован для добавления элементов массива в коллекцию:

Integer[] arr = ...;
Collections.addAll(list, arr);

Я считаю, что ответ выше неверен, правильный способ инициализации с несколькими значениями будет таким...

int[] otherList ={1,2,3,4,5};

таким образом, полный ответ с правильной инициализацией будет выглядеть так

int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));

Comments

    Ничего не найдено.