Рубрики
Без рубрики

Методы добавления списка Java() и addAll()

1. Добавление списка Java() Этот метод используется для добавления элементов в список. Существует два способа добавления элементов в список. добавить(E e): добавляет элемент в

Автор оригинала: Pankaj Kumar.

1. Добавить список Java()

Этот метод используется для добавления элементов в список. Существует два способа добавления элементов в список.

  1. добавить(E e) : добавляет элемент в конец списка. Поскольку список поддерживает универсальные типы, тип элементов, которые могут быть добавлены, определяется при создании списка.
  2. добавить(индекс int, элемент E) : вставляет элемент по заданному индексу. Элементы из данного индекса смещены вправо от списка. Метод вызывает исключение IndexOutOfBoundsException , если данный индекс находится вне диапазона.

Давайте рассмотрим некоторые примеры методов добавления списка ().

package com.journaldev.examples;

import java.util.ArrayList;
import java.util.List;

public class ListAddExamples {

	public static void main(String[] args) {

		List vowels = 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 ().

  1. addAll(Коллекция расширяет E> c) : Этот метод добавляет все элементы из данной коллекции в конец списка. Порядок вставки зависит от порядка, в котором итератор коллекции возвращает их. расширяет E> c)
  2. : Этот метод добавляет все элементы из данной коллекции в конец списка. Порядок вставки зависит от порядка, в котором итератор коллекции возвращает их. 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) {

		List primeNumbers = 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.

Существует два распространенных сценария, в которых вы обнаружите это исключение при добавлении элементов в список.

  1. Arrays.asList() : Этот метод возвращает список фиксированного размера , поскольку он поддерживается указанным массивом. Любая операция, при которой изменяется размер списка, вызывает исключение UnsupportedOperationException.
  2. Коллекции.Неизменяемый список(список l) : Этот метод возвращает неизменяемое представление данного списка. Таким образом, операции add() вызывают исключение UnsupportedOperationException.

Давайте рассмотрим простой пример исключения UnsupportedOperationException с операцией добавления обоих этих типов списков.

jshell> List ints = 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

Рекомендации