iterator 和 for 都不能修改容器的内容
iterator 可以删除容器中的元素,for不能
在iterator 和 for 的过程中,不能有其他线程或自己线程通过直接操作容器对象的方法增加或删除元素(报错java.util.ConcurrentModificationException)。自己线程增加若要删除元素,可以在iterator 中调用iterator.remove()方法,不会报错。可以对容器中的元素进行修改或查询。
所以为了线程安全,可以对容器使用 clone()方法进行浅复制,也可以使用线程锁。
转载请注明原文地址: https://ju.6miu.com/read-36469.html