使 ArrayList 只读

新手上路,请多包涵

在 Java 中,如何在初始化后使 ArrayList 只读(以便任何人都不能添加元素、编辑或删除元素)?

原文由 gmhk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 543
2 个回答

ArrayList Collections.unmodifiableList() 。它返回指定列表的不可修改视图。只使用这个返回的 List ,而不是原来的 ArrayList

原文由 Mark Pope 发布,翻译遵循 CC BY-SA 4.0 许可协议

将列表对象传递给 Collections.unmodifiableList() 。请参见下面的示例。

 import java.util.*;

public class CollDemo
{
    public static void main(String[] argv) throws Exception
    {
        List stuff = Arrays.asList(new String[] { "a", "b" });
        List list = new ArrayList(stuff);
        list = Collections.unmodifiableList(list);
        Set set = new HashSet(stuff);
        set = Collections.unmodifiableSet(set);
        Map map = new HashMap();
        map = Collections.unmodifiableMap(map);
        System.out.println("Collection is read-only now.");
    }
}

原文由 Arunkumar Papena 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题