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