The checkedCollection() method of java.util.Collections class is used to return a dynamically typesafe view of the specified collection. The returned collection does not pass the hashCode and equals operations through to the backing collection, but relies on Object’s equals and hashCode methods. This is necessary to preserve the contracts of these operations in the case that the backing collection is a set or a list. The returned collection will be serializable if the specified collection is serializable.
Since null is considered to be a value of any reference type, the returned collection permits insertion of null elements whenever the backing collection does.
Syntax:
public static Collection checkedCollection(Collection c, Class type)
Parameters: This method takes two parameters
- The collection for which a dynamically typesafe view is to be returned
- The type of element that c is permitted to hold
Return Type: This method returns a dynamically typesafe view of the specified collection
Example 1:
Java
// Java program to demonstrate // checkedCollection() method // for String value // Importing utility classes import java.util.*; // Main class public class GFG { // Main driver method public static void main(String[] argv) throws Exception { // Try block to check for exceptions try { // Creating an empty ArrayList by // creating object of List of string type List<String> arlst = new ArrayList<String>(); // Adding element to arrlist // using add() method // Custom input elements arlst.add( "CSS" ); arlst.add( "PHP" ); arlst.add( "HTML" ); arlst.add( "TajMahal" ); // Printing the ArrayList System.out.println( "List: " + arlst); // Now create typesafe view of the collection by // creating object of Collection class of string // type Collection<String> tslst = Collections.checkedCollection( arlst, String. class ); // Printing the updated ArrayList // after applying checkedCollection() method System.out.println( "Typesafe view of List: " + tslst); } // Catch block to handle the exceptions catch (IllegalArgumentException e) { // Print message to be displayed on console // when exception occurs System.out.println( "Exception thrown : " + e); } } } |
List: [CSS, PHP, HTML, TajMahal] Typesafe view of List: [CSS, PHP, HTML, TajMahal]
Example 2:
Java
// Java program to Illustrate checkedCollection() method // of Collection class for an Integer value // Importing classes import java.util.*; // Main class public class GFG { // Main driver method public static void main(String[] argv) throws Exception { // Try block to check for exception try { // Creating an empty ArrayList of integer type // by declaring object of List List<Integer> arlst = new ArrayList<Integer>(); // Adding element to ArrayList // using add() method arlst.add( 20 ); arlst.add( 30 ); arlst.add( 40 ); arlst.add( 50 ); // Printing the above ArrayList System.out.println( "List: " + arlst); // now creating typesafe view of the collection // using checkedCollection() method Collection<Integer> tslst = Collections.checkedCollection( arlst, Integer. class ); // Printing the updated ArrayList // after above operation System.out.println( "Typesafe view of List: " + tslst); } // Catch block to handle exceptions catch (IllegalArgumentException e) { // Display message if exception occurs System.out.println( "Exception thrown : " + e); } } } |
List: [20, 30, 40, 50] Typesafe view of List: [20, 30, 40, 50]