java list 拆分_Java面试题怎么确保一个集合不能被修改?

点击上方“千锋Java学院”,选择“置顶公众号

每天一道面试模拟真题及解析

课前导读

●回复"每日一练"获取以前的题目,持续更新!

●我希望大家积极参与!有什么不懂可以加小千微信进行讨论

★把面试准备工作,拆分、融入到平时每天

怎么确保一个集合不能被修改?

参考答案:

使用 JDK中java.util.Collections 类,unmodifiable*** 方法赋值原集合。

当再修改集合时,会报错 java.lang.UnsupportedOperationException。从而确保自己定义的集合不被其他人修改。
public class TestCollectionUnmodify {   static Listlist = new ArrayList();  static Setset = new HashSet();  static Mapmap = new HashMap();    static {    list.add("1");    list.add("2");    list.add("3");        set.add("1");    set.add("2");    set.add("3");        map.put("1", "1");    map.put("2", "2");    map.put("3", "3");  }    public static void main(String[] args) {    list = Collections.unmodifiableList(list);    set = Collections.unmodifiableSet(set);    map = Collections.unmodifiableMap(map);    listModify();    setModify();    mapModify();  }    public static void listModify() {    list.add("4");  }    public static void setModify() {    set.add("4");  }    public static void mapModify() {    map.put("3", "4");  }}
PS:guava工具类也可完成改功能 d9fd2a5d3bdeec54f1577e665b348767.png ▼ 点击 阅读原文 抢预约免费试听课程名额
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值