How to make an ArrayList read only in Java
Given an ArrayList, the task is to make this ArrayList read-only in Java.
Examples:
Input: ArrayList: [1, 2, 3, 4, 5]
Output: Read-only ArrayList: [1, 2, 3, 4, 5]
Input: ArrayList: [geeks, for, geeks]
Output: Read-only ArrayList: [geeks, for, geeks]
An ArrayList can be made read-only easily with the help of Collections.unmodifiableList() method. This method takes the modifiable ArrayList as a parameter and returns the read-only unmodifiable view of this ArrayList.
Syntax:
readOnlyArrayList = Collections.unmodifiableList(ArrayList);
Below is the implementation of the above approach:
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
List<Character> list = new ArrayList<Character>();
list.add( 'X' );
list.add( 'Y' );
list.add( 'Z' );
System.out.println( "Initial list: "
+ list);
List<Character>
immutablelist = Collections
.unmodifiableList(list);
System.out.println( "ReadOnly ArrayList: "
+ immutablelist);
System.out.println( "\nTrying to modify"
+ " the ReadOnly ArrayList." );
immutablelist.add( 'A' );
}
catch (UnsupportedOperationException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Initial list: [X, Y, Z]
ReadOnly ArrayList: [X, Y, Z]
Trying to modify the ReadOnly ArrayList.
Exception thrown : java.lang.UnsupportedOperationException
Last Updated :
11 Dec, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...