Назад к вопросам
Т-Банк
Junior — Middle
65
Каким образом можно получить список, который нельзя изменить, на основе существующего ArrayList?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы получить неизменяемый (immutable) список на основе существующего ArrayList в Java, можно использовать метод Collections.unmodifiableList(). Этот метод возвращает оболочку над исходным списком, которая не позволяет изменять содержимое через полученный интерфейс.
Пример:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
ArrayList<String> mutableList = new ArrayList<>();
mutableList.add("Элемент 1");
mutableList.add("Элемент 2");
List<String> immutableList = Collections.unmodifiableList(mutableList);
// Попытка изменить immutableList вызовет UnsupportedOperationException
// immutableList.add("Новый элемент"); // Ошибка!
Важно помнить, что если исходный mutableList изменится, то изменения будут видны и в immutableList, так как это только оболочка. Если нужна полная неизменяемость, нужно создать копию списка и обернуть её:
List<String> trulyImmutableList = Collections.unmodifiableList(new ArrayList<>(mutableList));