Автор оригинала: Pankaj Kumar.
1. Добавить список Java()
Этот метод используется для добавления элементов в список. Существует два способа добавления элементов в список.
- добавить(E e) : добавляет элемент в конец списка. Поскольку список поддерживает универсальные типы, тип элементов, которые могут быть добавлены, определяется при создании списка.
- добавить(индекс int, элемент E) : вставляет элемент по заданному индексу. Элементы из данного индекса смещены вправо от списка. Метод вызывает исключение
IndexOutOfBoundsException
, если данный индекс находится вне диапазона.
Давайте рассмотрим некоторые примеры методов добавления списка ().
package com.journaldev.examples; import java.util.ArrayList; import java.util.List; public class ListAddExamples { public static void main(String[] args) { Listvowels = new ArrayList<>(); vowels.add("A"); // [A] vowels.add("E"); // [A, E] vowels.add("U"); // [A, E, U] System.out.println(vowels); // [A, E, U] vowels.add(2, "I"); // [A, E, I, U] vowels.add(3, "O"); // [A, E, I, O, U] System.out.println(vowels); // [A, E, I, O, U] } }
- Список Java
- Java ArrayList
2. Добавление списка Java()
Этот метод используется для добавления элементов из коллекции в список. Существует два перегруженных метода addAll ().
- addAll(Коллекция расширяет E> c) : Этот метод добавляет все элементы из данной коллекции в конец списка. Порядок вставки зависит от порядка, в котором итератор коллекции возвращает их. расширяет E> c)
- : Этот метод добавляет все элементы из данной коллекции в конец списка. Порядок вставки зависит от порядка, в котором итератор коллекции возвращает их. addAll(индекс int, коллекция (E> c)
Давайте рассмотрим простой пример методов List addAll ().
package com.journaldev.examples; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListAddAllExamples { public static void main(String[] args) { ListprimeNumbers = new ArrayList<>(); primeNumbers.addAll(Arrays.asList(2, 7, 11)); System.out.println(primeNumbers); // [2, 7, 11] primeNumbers.addAll(1, Arrays.asList(3, 5)); System.out.println(primeNumbers); // [2, 3, 5, 7, 11] } }
3. Исключение UnsupportedOperationException с методами добавления списка()
Если вы посмотрите документацию по методу добавления списка() и добавления (), операция упоминается как необязательная.
Это означает, что реализация списка может не поддерживать его. В этом случае методы добавления списка() вызывают исключение UnsupportedOperationException.
Существует два распространенных сценария, в которых вы обнаружите это исключение при добавлении элементов в список.
- Arrays.asList() : Этот метод возвращает список фиксированного размера , поскольку он поддерживается указанным массивом. Любая операция, при которой изменяется размер списка, вызывает исключение UnsupportedOperationException.
- Коллекции.Неизменяемый список(список l) : Этот метод возвращает неизменяемое представление данного списка. Таким образом, операции add() вызывают исключение UnsupportedOperationException.
Давайте рассмотрим простой пример исключения UnsupportedOperationException с операцией добавления обоих этих типов списков.
jshell> Listints = Arrays.asList(1,2,3); ints ==> [1, 2, 3] jshell> ints.add(4); | Exception java.lang.UnsupportedOperationException | at AbstractList.add (AbstractList.java:153) | at AbstractList.add (AbstractList.java:111) | at (#4:1) jshell> List strs = new ArrayList<>(); strs ==> [] jshell> strs.add("A"); $6 ==> true jshell> List strs1 = Collections.unmodifiableList(strs); strs1 ==> [A] jshell> strs1.add("B"); | Exception java.lang.UnsupportedOperationException | at Collections$UnmodifiableCollection.add (Collections.java:1058) | at (#8:1)
Исключение Java List add() UnsupportedOperationException