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