Home Java Example Java Util Making a Collection Read-Only



Making a Collection Read-Only
Posted on: April 16, 2007 at 12:00 AM
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.*;
import java.io.*;

public class SetCollectionReadOnly{
  public static void main(String[] argsthrows IOException{
  int n = 0;
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("How many names you want to enter in the list : ");
  try{
  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.");
  System.exit(1);
  }
  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);

  try{
  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.");
  System.exit(1);
  }
  }
}

Download this example.

Related Tags for Making a Collection Read-Only:
javacclasslistcollectionsuiiomakemethodvicollectionreadusingidpackageifexampleexameread-onlyitcanliinmodasmcajpackadclesagememodiproackxaxampseecolatpackishallivcollectmpleacollectunmodifiablevassthavstabablhatpleplpronlyonolonl


More Tutorials from this section

Ask Questions?    Discuss: Making a Collection Read-Only  

Post your Comment


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

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.