Junior — Middle
86
Бар болған ArrayList негізінде өзгертілмейтін тізімді қалай алуға болады?
Сұралған компаниялар
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));