Demo — https://youtu.be/cVn3zvqXeIA
public class ImmutableSet { public static void main(String[] args) { //========== Method-1 =========== Set<String> immutableSet = Set.of("Value1", "Value2"); //will contain only two elements System.out.println(immutableSet); /* Can't add or remove anything since Set is immutable. Doing so will throw UnsupportedOperationException */ //immutableSet.add("Value3"); //immutableSet.remove("Value1"); //========== Method-2 =========== Set<String> sourceSet = new HashSet<>(); sourceSet.add("E1"); sourceSet.add("E2"); /* Creates an immutable copy from another collection */ Set<String> names = Set.copyOf(sourceSet); System.out.println(names); /* This won't make source immutable so we can still perform add and/or remove operations on the source collection. But these operations will have no impact on the immutable copy that we created. */ sourceSet.add("E3"); System.out.println(sourceSet); //this will still print two values E1 and E2 System.out.println(names); } }
Top comments (0)