Making HashSet read-only – We have unmodifiableSet(Set<? extends T> s) static method in Collections class.
import java.util.Collections; import java.util.HashSet; import java.util.Set; public class ReadOnlySetExp { public static void main(String[] args) { // creating object of Set Set<String> setObjects = new HashSet(); // adding couple of elements in ArrayList setObjects.add("ram"); setObjects.add("mohan"); setObjects.add("sohan"); setObjects.add("rohan"); // iterating using for-each loop System.out.println("before read only list"); for (String str : setObjects) { System.out.println(str); } // Let's make setObjects read only Set<String> readOnlySetObject = Collections.unmodifiableSet(setObjects); // adding element in readOnlyListObject readOnlySetObject.add("shyam"); System.out.println(readOnlySetObject); } }
before read only list
sohan
rohan
mohan
ram
Exception in thread “main” java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Unknown Source)
at ReadOnlySetExp.main(ReadOnlySetExp.java:28)