Home »
Java programming language
How to make an ArrayList read only in Java
By Preeti Jain Last updated : February 05, 2024
Read Only ArrayList
If we make ArrayList as Read-Only i.e. we can only read ArrayList and we cannot perform other operations on ArrayList like delete, replace, add by using remove(), set(), add() methods, in read-only mode or in other words we cannot perform any modification in the ArrayList during Read-Only mode.
Problem statement
Given an ArrayList, write a Java program to make the given ArrayList read-only.
Making an ArrayList Read-Only
To make an ArrayList read-only, we use unmodifiableCollection() method of the Collections class.
The unmodifiableCollection() Method
- unmodifiableCollection() method is available in java.util package.
- unmodifiableCollection() method is used to make java collections (ArrayList) read-only.
- unmodifiableCollection() method is used to returns the same ArrayList as we input (i.e. unmodifiable view).
Syntax
public static Collection unmodifiableCollection(Collection co){
}
Parameter(s)
co – represents the ArrayList collection object for which an unmodifiable view is to be returned.
Return value
The return type of this method is Collection, it returns an unmodifiable view of the collection.
Java program to make an ArrayList read only
// Java program to demonstrate the example of
// Java ArrayList make Read-Only by using
// unmodifiableCollection() method of Collections class
import java.util.*;
public class ArrayListMakeReadOnly {
public static void main(String[] args) {
// ArrayList Declaration
Collection arr_list = new ArrayList();
// By using add() method to add few elements in
// ArrayList
arr_list.add(10);
arr_list.add(20);
arr_list.add(30);
arr_list.add(40);
arr_list.add(50);
// Display ArrayList
System.out.println("Display ArrayList Elements");
System.out.println(arr_list);
System.out.println();
// By using unmodifiableCollection() method is used to make
// ArrayList Read-Only
Collection al_ro = Collections.unmodifiableCollection(arr_list);
// We will get an exception if we add element in Read-Only
// ArrayList i.e. Below statement is invalid
// al_ro.add(60);
// We will get an exception if we delete element from Read-Only
// ArrayList i.e. Below statement is invalid
// al_ro.remove(1);
// We will get an exception if we replace element in Read-Only
// ArrayList i.e. Below statement is invalid
// al_ro.set(2,60);
}
}
Output
The output of the above program is:
Display ArrayList Elements
[10, 20, 30, 40, 50]