下面代码的目的是去除字符串的重复项,在内部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");
}
}
|
|