Java教程

如何使ArrayList只读?

只读表示Collection的不可修改视图,在该视图中,我们无法执行将通过add()更改collection的任何操作,请移除()或set()方法。我们可以通过调用Collections.unmodifiableCollection()方法从现有集合中获取只读集合。
public class UnmodifiableArrayList {
    public static void main(String[] args) {
        List<String> fruitList = new ArrayList<String>();
        fruitList.add("Mango");
        fruitList.add("Banana");
        fruitList.add("Apple");
        fruitList.add("Strawberry");
        fruitList.add("Pineapple");
        List<String> unmodifiableList= Collections.unmodifiableList(fruitList);
        unmodifiableList.add("INDIA");
        System.out.println(fruitList);
    }
}
输出:
Exception in thread "main"java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
at collectionInterview.list.UnmodifiableArrayList.main(UnmodifiableArrayList.java:20)
在这里,我们已将现有列表fruitList转换为不可修改的List。如果我们更改" unmodifiableList",它将导致UnsupportedOperationException。我们仍然可以使用fruitList引用更改列表。就像打电话:
fruitList.add("INDIA");
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4