Коллекции unmodifiableCollection () метод в Java с примерами
Метод unmodifiableCollection () класса java.util.Collections используется для возврата неизменяемого представления указанной коллекции. Этот метод позволяет модулям предоставлять пользователям доступ «только для чтения» к внутренним коллекциям. Операции запроса к возвращаемой коллекции «читают» в указанную коллекцию и попытки изменить возвращенную коллекцию, напрямую или через ее итератор, приводят к исключению UnsupportedOperationException.
Возвращенная коллекция не передает hashCode и операции equals в резервную коллекцию, но полагается на методы equals и hashCode объекта. Это необходимо для сохранения контрактов этих операций в случае, если вспомогательная коллекция является набором или списком.
Возвращенная коллекция будет сериализуемой, если указанная коллекция сериализуема.
Синтаксис:
общедоступный статический <T> Коллекция <T>
unmodifiableCollection (Коллекция <? extends T> c)Параметры: этот метод принимает коллекцию в качестве параметра, для которого должно быть возвращено неизменяемое представление.
Возвращаемое значение: этот метод возвращает неизменяемое представление указанной коллекции.
Ниже приведены примеры, иллюстрирующие метод unmodifiableCollection ().
Example 1:
// Java program to demonstrate// unmodifiableCollection() method// for <Character> Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of ArrayList<Character> List<Character> list = new ArrayList<Character>(); // populate the list list.add("X"); list.add("Y"); // printing the list System.out.println("Initial list: " + list); // getting unmodifiable list // using unmodifiableCollection() method Collection<Character> immutablelist = Collections .unmodifiableCollection(list); } catch (UnsupportedOperationException e) { System.out.println("Exception thrown : " + e); } }} |
Initial list: [X, Y]
Example 2: For UnsupportedOperationException
// Java program to demonstrate// unmodifiableCollection() method// for UnsupportedOperationException import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of ArrayList<Character> List<Character> list = new ArrayList<Character>(); // populate the list list.add("X"); list.add("Y"); // printing the list System.out.println("Initial list: " + list); // getting unmodifiable list // using unmodifiableCollection() method Collection<Character> immutablelist = Collections .unmodifiableCollection(list); // Adding element to new Collection System.out.println("
Trying to modify" + " the unmodifiableCollection"); immutablelist.add("Z"); } catch (UnsupportedOperationException e) { System.out.println("Exception thrown : " + e); } }} |
Initial list: [X, Y] Trying to modify the unmodifiableCollection Exception thrown : java.lang.UnsupportedOperationException