Тесты Пообщаться с GPT Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
02 Сен 2023
2 мин
212

Обработка исключения UnsupportedOperationException при удалении элемента из списка в Java

Пройдите тест, узнайте какой профессии подходите

Иногда при работе с коллекциями в Java возникают ситуации, когда необходимо удалить элемент из списка. Например: В этом случае возникает исключение

Иногда при работе с коллекциями в Java возникают ситуации, когда необходимо удалить элемент из списка. Например:

public static void main(String[] args) {
    String[] arr = {"a", "b", "c", "d"};
    List<String> list = Arrays.asList(arr);
    list.remove(1);
}

В этом случае возникает исключение UnsupportedOperationException.

Причина в том, что метод Arrays.asList() возвращает список фиксированного размера. Это означает, что после создания такого списка, его размер не может быть изменен — нельзя добавить или удалить элемент. Попытка сделать это вызовет исключение UnsupportedOperationException.

Чтобы избежать этой проблемы, можно использовать другой метод для создания списка, который позволяет менять его размер. Например, можно воспользоваться конструктором ArrayList, который принимает коллекцию в качестве параметра:

public static void main(String[] args) {
    String[] arr = {"a", "b", "c", "d"};
    List<String> list = new ArrayList<>(Arrays.asList(arr));
    list.remove(1);
}

В этом случае список list будет создан на основе массива arr, но будет иметь возможность изменять свой размер. Таким образом, удаление элемента из списка не вызовет исключение.

Также стоит учесть, что метод remove() изменяет сам список, удаляя из него элемент. Если нужно сохранить исходный список без изменений, рекомендуется создать копию списка перед удалением элемента.

Важно помнить, что некоторые методы Java могут возвращать коллекции с ограниченными возможностями. Прежде чем использовать такие коллекции, стоит внимательно прочитать документацию и убедиться, что они подходят для решения задачи.

Добавить комментарий