Добавить несколько элементов, чтобы уже инициализированного класса ArrayList в Java
я гуглю его и не могу найти синтаксис. Мой arraylist может быть заполнено по-разному в зависимости от настроек пользователя, поэтому я инициализировал его
ArrayList<Integer> arList = new ArrayList<Integer>();
и теперь я хотел бы добавить сто целых чисел, не делая это один за другим с arList.add(55);
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