Для получения неизменяемого варианта коллекции, в классе Collections есть соответствующие методы:
unmodifiableCollection
unmodifiableSequencedCollection
unmodifiableSet
unmodifiableSequencedSet
unmodifiableSortedSet
unmodifiableNavigableSet
unmodifiableList
unmodifiableMap
unmodifiableSequencedMap
unmodifiableSortedMap
unmodifiableNavigableMap
Поскольку неизменяемые коллекции нельзя изменить, разработчики могут быть уверены, что состояние коллекции не будет неожиданно изменено в других частях программы.
В некоторых случаях неизменяемые коллекции могут повышать производительность, так как операции над такими коллекциями не требуют блокировок и синхронизации.
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
List<String> unmodifiableList = Collections.unmodifiableList(list);
// Попытка изменить unmodifiableList приведет к UnsupportedOperationException
// unmodifiableList.remove("B");
#java #collections #immutable #unmodifiable
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍4🔥2
Неизменяемые коллекции обеспечивают безопасность от случайных изменений данных, что особенно полезно в многопоточных приложениях или когда нужно гарантировать, что данные не будут изменены.
Вместо того чтобы создавать обычные коллекции и вручную делать их неизменяемыми с помощью метода
Collections.unmodifiableList(), теперь можно легко создать неизменяемую коллекцию с помощью новых фабричных методов.Пример создания неизменяемого списка:
List<String> names = List.of("Иван", "Мария", "Анна");
Пример создания неизменяемого множества:
Set<String> items = Set.of("Яблоко", "Груша", "Банан");
Попытка изменить такую коллекцию (например,
names.add("Петр")) приведёт к исключению UnsupportedOperationException.Использование неизменяемых коллекций помогает избежать ошибок, связанных с нежелательными изменениями, и улучшает безопасность данных.
#java #Immutable #Unmodifiable
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1