CopyOnWriteArrayList操作java.lang.UnsupportedOperationException
2015-06-09 20:56
495 查看
问题一:CopyOnWriteArrayList不能强制转换成ArrayList
解决办法:将CopyOnWriteArrayList传入ArrayList中
问题二:CopyOnWriteArrayList不支持Collections.sort
解决办法:
问题三:CopyOnWriteArrayList不支持
while (iterator.hasNext()) {
iterator.remove();
}
原因:CopyOnWriteArrayList在做迭代之前是做了一份”快照”,所以此时的iter是不可变的,也就是说如果在此遍历中调用iter.remove()会抛出异常
解决办法:
解决办法:将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); }
相关文章推荐
- Java设计模式之 —— 单例(Singleton)
- Java内部类学习总结
- java 遍历Map并且获取其中的键值
- Java中的内部类详细总结
- java可变参数
- Java for LeetCode 214 Shortest Palindrome
- Java 的通信编程,用 JAVA SOCKET 编程,读服务器几个 字符,再写入本地显示?
- java多线程之生产消费问题
- 2015届华为校园招聘机试题 java实现(2)
- java多线程 ThreadPoolExecutor 策略的坑
- SpringMVC+MyBatis项目总结(四)
- Spring4+Hibernate4+junit4环境搭建
- Spring学习笔记之Spring事务及事务测试
- Java for LeetCode 213 House Robber II
- maven搭建SpringMvc Hibernate Spring的pom.xml
- Java中的import static
- Java知多少(87)选择框和单选按钮
- Struts2 重点总结 (1)
- Java枚举
- 如何在Java 8中愉快地处理日期和时间