Category Archives: guava
Guava Immutable Collections vs Collections.unmodifiable
Java Collections
Collections.unmodifiableList or Collections.unmodifiableSet methods create a wrapper around the original list or set. Hence any changes to the original list would affect the unmodifiable list too.
Set<String> x = new HashSet<String>(); x.add("foo"); Set<String> builtIn = Collections.unmodifiableSet(x); x.add("bar"); System.out.println(builtIn.size()); // Prints 2
It would be more clear if you have a look at the implementation of Collections.unmodifiableList() method