【发布时间】:2015-03-02 08:21:59
【问题描述】:
我想对CopyOnWriteArrayList 进行排序。但是当我尝试运行以下代码时
它正在抛出unsorted operation exception。
public class CopyOnWriteArrayListExample {
public static void main(final String[] args) {
List<String> list = new CopyOnWriteArrayList<>();
list.add("3");
list.add("2");
list.add("1");
Collections.sort(list);
}
}
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1049)
at java.util.Collections.sort(Collections.java:159)
at com.sac.list.CopyOnWriteArrayListExample.main(CopyOnWriteArrayListExample.java:15)
提前致谢。
【问题讨论】:
-
我怀疑堆栈跟踪比这更长 - 显示失败的操作...
-
我建议将其复制到ArrayList,排序并复制回来。
-
是的,堆栈跟踪更长。让我编辑并放一个完整的跟踪。
-
@talex- 这将导致非常昂贵的操作。
标签: java core copyonwritearraylist