Java集合unmodifiableCollection()方法



描述

unmodifiableCollection()方法用於返回指定集合的不可修改檢視。嘗試修改集合將導致UnsupportedOperationException異常。

宣告

以下是java.util.Collections.unmodifiableCollection()方法的宣告。

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

引數

c − 這是要返回不可修改檢視的集合。

返回值

  • 方法呼叫返回指定集合的不可修改檢視。

異常

從可變整數列表獲取不可變集合示例

以下示例演示了Java集合unmodifiableCollection(Collection)方法的使用。我們建立了一個包含一些整數的List物件。使用unmodifiableCollection(Collection)方法,我們檢索了列表的不可變版本並列印了列表。

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);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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

從可變字串列表獲取不可變集合示例

以下示例演示了Java集合unmodifiableCollection(Collection)方法的使用。我們建立了一個包含一些字串的List物件。使用unmodifiableCollection(Collection)方法,我們檢索了列表的不可變版本並列印了列表。

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);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Immutable collection: [Welcome, to, Tutorialspoint]

從可變物件列表獲取不可變集合示例

以下示例演示了Java集合unmodifiableCollection(Collection)方法的使用。我們建立了一個包含一些Student物件的List物件。使用unmodifiableCollection(Collection)方法,我們檢索了列表的不可變版本並列印了列表。

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 + " ]";
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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