Найти тему
DEBAGanov

Java 811. Как получить коллекцию только для чтения?

Чтобы получить неизменяемую (только для чтения) коллекцию в Java, можно использовать методы из класса Collections. Например, для создания неизменяемого списка можно использовать метод Collections.unmodifiableList(), для создания неизменяемого множества - Collections.unmodifiableSet(), и т.д. Здесь пример создания неизменяемого списка:

List<String> originalList = new ArrayList<>();
originalList.add("one");
originalList.add("two");
originalList.add("three");
List<String> unmodifiableList = Collections.unmodifiableList(originalList);

После этого unmodifiableList будет неизменяемым, то есть любые попытки изменить его содержимое приведут к генерации исключения UnsupportedOperationException. Чтобы получить неизменяемую коллекцию из какой-то другой коллекции, можно использовать метод unmodifiableXXX() из класса Collections:

List<String> originalList = new ArrayList<>();
originalList.add("one");
originalList.add("two");
originalList.add("three");
List<String> unmodifiableList = Collections.unmodifiableList(originalList);
Set<String> originalSet = new HashSet<>(originalList);
Set<String> unmodifiableSet = Collections.unmodifiableSet(originalSet);

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov