java吧 关注:1,191,150贴子:12,603,557

为什么要用迭代器呢

只看楼主收藏回复

为什么要用迭代器来删除元素呢用list的remove不可以吗


来自Android客户端1楼2014-08-29 23:07回复
    记得出过什么异常。。后来乖乖使用迭代器了


    IP属地:山东来自手机贴吧2楼2014-08-29 23:10
    收起回复
      用迭代器怎么删除啊?求科普!


      IP属地:上海3楼2014-08-29 23:14
      收起回复
        方便


        来自Android客户端4楼2014-08-29 23:24
        收起回复
          用list你可以试试,如果是循环里remove一定会有问题,因为你删掉这个元素,下个元素的值会改变(就是那个数组下标什么的,用来标记在list里放在第几位的值),然后你的循环继续往下走。。。我有时会定义一个值来记录哪个值需要删除,等循环结束后再remove


          IP属地:北京来自Android客户端5楼2014-08-29 23:27
          收起回复
            on floor is roght


            来自Android客户端6楼2014-08-29 23:31
            回复
              第一迭代器的效率高,第二为了保持迭代器的合法性。
              ------✎﹏如果我又遇见你,隔着岁月悠长。我将如何向你致意?以眼泪,以沉默。


              IP属地:北京来自WindowsPhone客户端7楼2014-08-30 00:00
              收起回复
                ConcurrentModificationException 貌似是会有这个异常


                来自Android客户端8楼2014-08-30 00:03
                收起回复
                  嗯 谢谢啊


                  来自Android客户端10楼2014-08-30 06:57
                  回复
                    所以说查找用arraylist,增删用linkedlist应该是这样吧,我也是刚学到集合这里,


                    来自Android客户端11楼2014-08-30 08:52
                    收起回复
                      假如你每天签到拿4经验,18级300000/4=75000天,如果从1岁开始签到,那100年=36500天,你差不多要活200年保持每天签到(谁知道200年后还有没有签到这玩意),如果你每天再水4经验,时间减半,但考虑现实,你不可能再活100年,取50年吧,你就要每天水16经验,可能你是个勤快的人,每天水32经验,那就需要25年!!!再如果你是个大水怪,每天水64经验,那就只要12.5年!!!还如果你个心急的人,每天水128经验,你只要6.25年!!!!假如你已经急不可耐了,每天水256经验,那你碉堡了,只要3.125年!!!当然,你会觉得3年还是太远了,每天你闲的蛋疼,忙忙碌碌的水512经验,碉堡了,你只需要1.5625年,只比1年半多一点!!!什么!!你还不满意,那你觉得你可能一天水1024经验吗,可能吗!!可能吗!!!那么,按照队形,点击复制,把我的话复制一片,拿经验妥妥的--------


                      IP属地:湖北来自Android客户端12楼2014-08-31 08:09
                      回复
                        list用remove主要是下标问题,去看看数据结构吧!亲


                        IP属地:北京来自Android客户端13楼2014-08-31 08:23
                        收起回复
                          好像一般的迭代器不可以在使用的同时,增删list里的数据,要用LinkedIterator 可以试试,我记不大清楚


                          来自Android客户端14楼2014-08-31 08:30
                          收起回复
                            List中删除某个元素后,被删除元素以后的元素自动都前移一位,如果是使用增强的for循环遍历list,此时list是只读状态~


                            来自Android客户端16楼2014-08-31 12:31
                            收起回复