在 Java 中,如何在初始化后使 ArrayList
只读(以便任何人都不能添加元素、编辑或删除元素)?
原文由 gmhk 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Java 中,如何在初始化后使 ArrayList
只读(以便任何人都不能添加元素、编辑或删除元素)?
原文由 gmhk 发布,翻译遵循 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 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
将
ArrayList
Collections.unmodifiableList()
。它返回指定列表的不可修改视图。只使用这个返回的List
,而不是原来的ArrayList
。