zoukankan      html  css  js  c++  java
  • CopyOnWriteArrayList操作java.lang.UnsupportedOperationException

    问题一:CopyOnWriteArrayList不能强制转换成ArrayList
    解决的方法:将CopyOnWriteArrayList传入ArrayList中
    ArrayList<T> arrayList = new ArrayList<T>(list);

    问题二:CopyOnWriteArrayList不支持Collections.sort
    解决的方法:

    ArrayList<T> arrayList = new ArrayList<T>(list);
            Collections.sort(arrayList ,new Comparator<T>() {
                public int compare(T o1, T o2) {}       });

    问题三:CopyOnWriteArrayList不支持
    while (iterator.hasNext()) {
    iterator.remove();
    }
    原因:CopyOnWriteArrayList在做迭代之前是做了一份”快照”,所以此时的iter是不可变的,也就是说假设在此遍历中调用iter.remove()会抛出异常
    解决的方法:

            CopyOnWriteArrayList<T> t1 ;
            Iterator<GameExperience> iterator = t1.iterator();
            while (iterator.hasNext()) {
                    T t= iterator.next();
                    t1.remove(t);
                }
  • 相关阅读:
    Android学习——day13
    寒假周总结三
    构建之法读书笔记03
    Android学习——day12
    每日日报2020 11/18
    每日日报2020 11/17
    每日日报2020 11/16
    每日日报2020 11/15
    每日日报2020 11/13
    每日日报2020 11/12
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7289317.html
Copyright © 2011-2022 走看看