我是靠谱客的博主 安详牛排,这篇文章主要介绍关于迭代器的remove方法出现的问题,现在分享给大家,希望可以做个参考。

先从这道题入手。这道2021年的题应该选D,重点来说说这个B选项错在哪。一开始以为它是在考迭代器的下表错位后得出错误结果的那个问题,后来仔细一想好像这样也没啥毛病。后面去查了一些资料,又想了很久,发现java库给的迭代器是不能用remove方法的,否则就会抛出异常。而课件中那个三个元素的迭代器remove因为用的是自己写的迭代器,所以可以用remove操作。那么为什么B中用remove会出错呢?

原因在于java中集合的遍历会调用库里的java自带的迭代器,而它自带的迭代器用不了remove方法,所以就抛出了异常,这种隐式迭代器的经典错误在实验中也遇到过。

要想要避免这个错误,最好尽可能少用for循环,用while可能更好一点。看了MIT的课件,我记得上面也有一句话,就是说要尽量不要用for带下标这样便利,不知道是不是有点类似的意思。

最后

以上就是安详牛排最近收集整理的关于关于迭代器的remove方法出现的问题的全部内容,更多相关关于迭代器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部