错误场景:
原因:增强for循环使用迭代器遍历,造成迭代器失效
改进方法:
也可以用for遍历,但是很丑:
为什么上面的程序不会崩溃?
原因:在对象remove之前,迭代器已经指向下一个对象,这时候删除就没有问题。
在增强for中不能在执行体指向下一个元素,除了使用迭代器++后,还可以使用普通的for循环进行元素的++后执行remove操作。示例:
错误场景:
原因:增强for循环使用迭代器遍历,造成迭代器失效
改进方法:
也可以用for遍历,但是很丑:
为什么上面的程序不会崩溃?
原因:在对象remove之前,迭代器已经指向下一个对象,这时候删除就没有问题。
在增强for中不能在执行体指向下一个元素,除了使用迭代器++后,还可以使用普通的for循环进行元素的++后执行remove操作。示例: