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


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

    当再修改集合时,会报错 java.lang.UnsupportedOperationException。从而确保自己定义的集合不被其他人修改。

    public class TestCollectionUnmodify {
     
        static List<String> list = new ArrayList<String>();
        static Set<String> set = new HashSet<String>();
        static Map<String, String> map = new HashMap<String, String>();
        
        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工具类也可完成改功能 

      

    来一道刷了进BAT的面试题?

  • 相关阅读:
    DAY 118 ES组合查询
    DAY 117 ES查询
    DAY 116 ES文档操作
    box_sizing
    添加视频
    网页自动刷新
    如何使网页宽度自动适应手机屏幕的宽度?
    存储过程&触发器
    mysql事务
    mysql常用语句
  • 原文地址:https://www.cnblogs.com/ConstXiong/p/11903935.html
Copyright © 2020-2023  润新知