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)
廣告