zoukankan      html  css  js  c++  java
  • throw UnsupportedOperationException

    package org.usc.action;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    public class Test {
        public static void main(String[] args) {
        String[] str={"张三","李四","王五","宋六","赵七","朱八","何九","田十"};
        List<String> list=Arrays.asList(str);//将数组转换为list集合
        if(list.contains("张三")){//加入集合中包含这个元素
            /*remove这些method时出现java.lang.UnsupportedOperationException异常。
             * 这是由于Arrays.asList() 返回java.util.Arrays$ArrayList,
             *  而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,
             *  remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。
             *  ArrayList override这些method来对list进行操作,
             *  但是Arrays$ArrayList没有override remove(),add()等,
             *  所以throw UnsupportedOperationException。
             */
            //这个时候我们直接移除会报错,所以我们要转换为Arraylist
           //list.remove("张三");
            List<String> arrayList=new ArrayList<String>(list);//转换为ArrayLsit调用相关的remove方法
            arrayList.remove("张三");
            for(String str1:arrayList ){
                System.out.print(str1+",");
            }
        }
        }
    }
    
    
    public static void main(String[] args) {
         List<String> list1 = new ArrayList<String>();
             list1.add("A");
             list1.add("B");
             list1.add("C");
    
         List<String> list2 = new ArrayList<String>();
             list2.add("C");
             list2.add("B");
             list2.add("D");
            // 并集
            list1.addAll(list2);
            // 去重复并集
            list2.removeAll(list1);
            list1.addAll(list2);
            // 交集
            list1.retainAll(list2);
            // 差集
            list1.removeAll(list2);
    }
     
  • 相关阅读:
    VS2010-MFC(对话框:模态对话框及其弹出过程)
    VS2010-MFC(对话框:设置对话框控件的Tab顺序)
    VS2010-MFC(对话框:为控件添加消息处理函数)
    VS2010-MFC(对话框:创建对话框类和添加控件变量)
    manacher算法模板
    [洛谷P1017] 进制转换
    [洛谷P1126] 机器人搬重物
    [洛谷P1032] 字串变换
    [POI2005]SAM-Toy Cars
    [洛谷P1528] 切蛋糕
  • 原文地址:https://www.cnblogs.com/Lzf127/p/10338536.html
Copyright © 2011-2022 走看看