Java 程序,用于将列表转换为只读列表
假设以下不是只读的列表
List < Integer > list = new ArrayList < Integer > (); list.add(10); list.add(20); list.add(30); list.add(40); list.add(50); list.add(20); list.add(40); list.add(50);
将上述列表转换为只读
list = Collections.unmodifiableList(list);
转换后,您现在不会从列表中添加或删除元素。让我们来看一个例子
以下程序将出错,因为我们首先将列表更新为只读,然后尝试从中删除一个元素,而现在这是不可能的。原因是我们已经将列表转换为只读,您不能在只读列表中添加或删除元素
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(10);
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(20);
list.add(40);
list.add(50);
System.out.println("List = "+list);
// converting to read-only
list = Collections.unmodifiableList(list);
list.remove(5);
System.out.println("Updated List: "+list);
}
}下面是输出错误,因为我们正在从只读列表中删除一个元素
List = [10, 20, 30, 40, 50, 20, 40, 50] Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.Collections$UnmodifiableList.remove(Collections.java:1316) at Amit/my.Demo.main(Demo.java:27)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP