Java 集合框架 unmodifiableList() 方法



描述

Java 集合框架 unmodifiableList() 方法用于返回指定列表的不可修改视图。

声明

以下是 java.util.Collections.unmodifiableList() 方法的声明。

public static <T> List<T> unmodifiableList(List<? extends T> list)

参数

list − 这是要返回不可修改视图的列表。

返回值

  • 方法调用返回指定列表的不可修改视图。

异常

从可变整数列表获取不可变列表示例

以下示例演示了 Java 集合框架 unmodifiableList(List) 方法的使用。我们创建了一个包含一些整数的 List 对象。使用 unmodifiableList(List) 方法,我们获取了列表的不可变版本并打印了列表。

package com.tutorialspoint;

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

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
      List<Integer> c = Collections.unmodifiableList(list);
      System.out.println("Immutable list: "+ c);
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

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

从可变字符串列表获取不可变列表示例

以下示例演示了 Java 集合框架 unmodifiableList(List) 方法的使用。我们创建了一个包含一些字符串的 List 对象。使用 unmodifiableList(List) 方法,我们获取了列表的不可变版本并打印了列表。

package com.tutorialspoint;

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

public class CollectionsDemo {

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

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

输出

让我们编译并运行上述程序,这将产生以下结果:

Immutable list: [Welcome, to, Tutorialspoint]

从可变对象列表获取不可变列表示例

以下示例演示了 Java 集合框架 unmodifiableList(List) 方法的使用。我们创建了一个包含一些 Student 对象的 List 对象。使用 unmodifiableList(List) 方法,我们获取了列表的不可变版本并打印了列表。

package com.tutorialspoint;

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

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
      List<Student> c = Collections.unmodifiableList(list);
      System.out.println("Immutable list: "+ 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 list: [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
java_util_collections.htm
广告