Home Java Example Java Util Making a Collection Read-Only

Related Tutorials


 
 

Share on Google+Share on Google+

Making a Collection Read-Only

Advertisement
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.

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  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.

Posted on: April 16, 2007

Related Tutorials

Discuss: Making a Collection Read-Only  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com