黑马程序员技术交流社区

标题: 迭代器问题 [打印本页]

作者: 章浩    时间: 2015-7-30 14:46
标题: 迭代器问题
下面代码的目的是去除字符串的重复项,在内部for循环里面用了迭代器,可是为什么结束循环之后,迭代器对象资源貌似没有释放,而且无法被重新定义,因为我打印的it.next一直都是初始值,而我的ArrayList确实是变化了的啊
import java.util.*;
class Test1
{
        public static void quChongFu(String s)
        {
                ArrayList al=new ArrayList();
                al.add(s.charAt(0));
                for (int i=1;i<s.length() ;i++ )
                {
                        for (Iterator it=al.iterator() ;it.hasNext() ; )
                        {
                                char c=(char)it.next();
                                System.out.println(c);
                                if (s.charAt(i)!=c)
                                {
                                        al.add(s.charAt(i));
                                        break;
                                }
                        }
                }
        }
        public static void main(String[] args)
        {
                quChongfu("v1123aaaadsdasff");
        }
}

作者: 章浩    时间: 2015-7-30 18:48
自己先顶一下

作者: T-l-H、小生    时间: 2015-7-30 20:10
写全啊,他还有个子类的迭代器
作者: gaoming971366    时间: 2015-7-30 20:15
迭代一般用while比较好吧,我的见解,一起学习加油
作者: 章浩    时间: 2015-7-30 23:07
gaoming971366 发表于 2015-7-30 20:15
迭代一般用while比较好吧,我的见解,一起学习加油

视频里面说建议用for的 说结束循环之后资源会释放  但是貌似没有啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2