概述
先从这道题入手。这道2021年的题应该选D,重点来说说这个B选项错在哪。一开始以为它是在考迭代器的下表错位后得出错误结果的那个问题,后来仔细一想好像这样也没啥毛病。后面去查了一些资料,又想了很久,发现java库给的迭代器是不能用remove方法的,否则就会抛出异常。而课件中那个三个元素的迭代器remove因为用的是自己写的迭代器,所以可以用remove操作。那么为什么B中用remove会出错呢?
原因在于java中集合的遍历会调用库里的java自带的迭代器,而它自带的迭代器用不了remove方法,所以就抛出了异常,这种隐式迭代器的经典错误在实验中也遇到过。
要想要避免这个错误,最好尽可能少用for循环,用while可能更好一点。看了MIT的课件,我记得上面也有一句话,就是说要尽量不要用for带下标这样便利,不知道是不是有点类似的意思。
最后
以上就是安详牛排为你收集整理的关于迭代器的remove方法出现的问题的全部内容,希望文章能够帮你解决关于迭代器的remove方法出现的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复