zoukankan      html  css  js  c++  java
  • 怎么确保一个集合不能被修改?

    使用 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的面试题?

  • 相关阅读:
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day5 Div1
    Luogu 1603
    洛谷试炼场
    Codeforces 1100
    Codeforces 1099E
    Codeforces 1099
    Luogu 1093
  • 原文地址:https://www.cnblogs.com/ConstXiong/p/11903935.html
Copyright © 2011-2022 走看看