在多线程中,使用ArrayList 进行remove操做时,会报异常。改用CopyOnWriteArrayList,若再进Collections.sort(copyOnWriteArrayList, myComparator)时,会报异常:java
java.lang.UnsupportedOperationException
由于CopyOnWriteArrayList不支持set()操做。多线程
解决办法是:spa
List temp = Arrays.asList(copyOnWriteArrayList.toArray()); Collections.sort(temp); copyOnwriteArrayList.clear(); copyOnWriteArrayList.addAll(temp);