java容器和迭代器
1 java容器类collections
collections包括list ,set ,map这些子类
有些可以重复有些不可以重复,map就不可以重复,还有hashset
容器类的在遍历删除时一定要使用迭代器否则出现报错

为什么会出现报错呢?
本质原因是两个remove的逻辑不一样
在list,set的逻辑上删除就是把其他元素移到前面来,并没有对当前的下标进行调整
但是迭代器的remove在删除之后,会及时调整到当前下标。
因为for each也是用迭代器实现的,在容器大小在遍历时发生改变的情况,除非是迭代器自身的操作否则其他都会报错。
浙公网安备 33010602011771号