java.util.ConcurrentModificationException异常
使用并发集合替换掉原集合可以实现并发修改安全。
原集合 | 并发集合 | 注意 |
---|---|---|
HashMap | ConcurrentHashMap<K,V> | Hashtable虽然线程安全但不支持并发修改 |
LinkedHashMap | ConcurrentSkipListMap<K,V> | 支持排序,且并发安全 |
LinkedHashSet | ConcurrentSkipListSet | 支持排序,且不允许有重复元素 |
Queue | ConcurrentLinkedQueue | 只能操作队列头 |
Deque | ConcurrentLinkedDeque | 队头队尾都可操作 |
ArrayList | CopyOnWriteArrayList | 支持并发安全 |
HashSet | CopyOnWriteArraySet | 支持并发安全 |