java容器和迭代器

1 java容器类collections

collections包括list ,set ,map这些子类

有些可以重复有些不可以重复,map就不可以重复,还有hashset

容器类的在遍历删除时一定要使用迭代器否则出现报错

 

 为什么会出现报错呢?

本质原因是两个remove的逻辑不一样

在list,set的逻辑上删除就是把其他元素移到前面来,并没有对当前的下标进行调整

但是迭代器的remove在删除之后,会及时调整到当前下标。

 

因为for each也是用迭代器实现的,在容器大小在遍历时发生改变的情况,除非是迭代器自身的操作否则其他都会报错。

 

posted @ 2022-06-06 16:42  dawang3  阅读(38)  评论(0)    收藏  举报