Java Collections unmodifiableCollection() Method



Description

The unmodifiableCollection() method is used to return an unmodifiable view of the specified collection.And an attempt to modify the collection will result in an UnsupportedOperationException.

Declaration

Following is the declaration for java.util.Collections.unmodifiableCollection() method.

public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

Parameters

c − This is the collection for which an unmodifiable view is to be returned.

Return Value

  • The method call returns an unmodifiable view of the specified collection.

Exception

NA

Getting Immutable Collection From a Mutable List of Integer Example

The following example shows the usage of Java Collection unmodifiableCollection(Collection) method. We've created a List object with some integers. Using unmodifiableCollection(Collection) method, we've retrieved the immutable version of list and printed the list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Collection;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
	  
      // immutable version of list
      Collection<Integer> c = Collections.unmodifiableCollection(list);
      System.out.println("Immutable collection: "+ c);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Immutable collection: [1, 2, 3, 4, 5]

Getting Immutable Collection From a Mutable List of String Example

The following example shows the usage of Java Collection unmodifiableCollection(Collection) method. We've created a List object with some strings. Using unmodifiableCollection(Collection) method, we've retrieved the immutable version of list and printed the list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Collection;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> list = new ArrayList<>(Arrays.asList("Welcome","to","Tutorialspoint"));

      // immutable version of list
      Collection<String> c = Collections.unmodifiableCollection(list);
      System.out.println("Immutable collection: "+ c);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Immutable collection: [Welcome, to, Tutorialspoint]

Getting Immutable Collection From a Mutable List of Object Example

The following example shows the usage of Java Collection unmodifiableCollection(Collection) method. We've created a List object with some Student objects. Using unmodifiableCollection(Collection) method, we've retrieved the immutable version of list and printed the list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Collection;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Student> list = new ArrayList<>(Arrays.asList(new Student(1, "Julie"),
         new Student(2, "Robert"), new Student(3, "Adam")));

      // immutable version of list
      Collection<Student> c = Collections.unmodifiableCollection(list);
      System.out.println("Immutable collection: "+ c);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Immutable collection: [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
java_util_collections.htm
Advertisements