Back to questions
Т-Банк
Junior — Middle
66
Каким образом можно получить список, который нельзя изменить, на основе существующего ArrayList?
Companies where asked
Answer from AI
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));