Share on Google+Share on Google+

Making a Collection Read-Only

This section describes you how to make a collection read-only.

Making a Collection Read-Only


This section describes you how to make a collection read-only. In this section, list (component of the collection) has been represented for making it read-only. By default, list is not read-only. If the list is read-only then you can not add or change any element of the list.

In the given example, you can see that a list has been made read-only using the unmodifiableList() method of the Collections class. If you want to do the same thing for another collection like Set, Collection, SortedSet you have to use the given methods:

Collection<T> unmodifiableCollection(Collection<? extends T> c)
List<T> unmodifiableList(List<? extends T> list) 
Set<T> unmodifiableSet(Set<? extends T> s)
SortedSet<T> unmodifiableSortedSet(SortedSet<T> s) 

After making the collections read-only any attempts for the modification occurs then the errors are captured by the UnsupportedOperationException in the catch block.

Here is the code of the program:

import java.util.*;

public class SetCollectionReadOnly{
  public static void main(String[] argsthrows IOException{
  int n = 0;
  BufferedReader in = new BufferedReader(new InputStreamReader(;
  System.out.print("How many names you want to enter in the list : ");
  n = Integer.parseInt(in.readLine());
  catch(NumberFormatException ne){
  System.out.println(ne.getMessage() " is not a legal value.");
  System.out.println("Please enter a numeric value.");
  String[] names = new String[n];
  System.out.println("Enter names for the list : ");
  for(int i = 0; i < n; i++){
  names[i= in.readLine();
  List<String> list = Arrays.asList(names);
  System.out.println("Elements available in the list are : " + list);
  list = Collections.unmodifiableList(list);

  System.out.print("Entry for set to the list : ");
  list.set(0, in.readLine());
  catch(UnsupportedOperationException ue){
  System.out.println("You can not modify the list.");

Download this example.



Posted on: April 16, 2007 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Discuss: Making a Collection Read-Only  

Post your Comment

Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image