1,for循环删除
可以删除单个元素,删除多个元素会删除不干净,eg:
for
这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素时,因为删除的关系后面的元素都往前移动了一位,所以实际访问的是第3个元素。因此,这种方式可以用在删除特定的一个元素时使用,但不适合循环删除多个元素时使用。
2,增强for循环
删除元素后继续循环会报错误信息ConcurrentModificationException,在修改处break不会报错。
for
3,iterator遍历
用iterator的remove是安全的。
Iterator