使用for循环对ArrayList在遍历时删除存在的问题
出现错误:因为ArrayList底层用的是数组实现,所以存储的时候是一块连续的地址。当删除了一个元素后,整个数组就会集体向前移动,这样会导致一个元素被忽略。
解决方案:删除后,将指针往前移动一位。
增强for循环,不能删除元素,因为他的底层实现是迭代器实现的,又不能调用迭代器的删除方法,所以只能遍历。
参考资料:ArrayList循环遍历并删除元素的常见问题
出现错误:因为ArrayList底层用的是数组实现,所以存储的时候是一块连续的地址。当删除了一个元素后,整个数组就会集体向前移动,这样会导致一个元素被忽略。
解决方案:删除后,将指针往前移动一位。
增强for循环,不能删除元素,因为他的底层实现是迭代器实现的,又不能调用迭代器的删除方法,所以只能遍历。
参考资料:ArrayList循环遍历并删除元素的常见问题