java.util.Collections.unmodifiableList(List<? extends T> list)
Returns an unmodifiable view of the specified list.
This method returns list "read only" list, and attempts to modify the returned list, whether direct or via its iterator, result in an UnsupportedOperationException.
The returned list will be serializable if the specified list is serializable.
Similarly, the returned list will implement RandomAccess if the specified list does.
package core.readonly.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Java program to create read only List in Java.
* List read only by using Collections.unmodifiableList().
*/
public class ReadOnlyList {
public static void main(String args[]) {
ArrayList<String> readableList = new ArrayList<String>();
readableList.add("element 1");
readableList.add("element 2");
//making existing ArrayList read only in Java
List<String> unmodifiableList =
Collections.unmodifiableList(readableList);
for(String elements : unmodifiableList) {
System.out.println(elements);
}
//add will throw Exception because List is read only
unmodifiableList.add("element 3");
//remove is not allowed in unmodifiable list
unmodifiableList.remove(0);
}
}
Output:
element 1
element 2
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Unknown Source)
at core.readonly.collections.ReadOnlyList.main(ReadOnlyList.java:29)
No comments:
Post a Comment