package Test; 
 
import java.util.ArrayList; 
class  Demo1 
{ 
        public static void main(String[] args)  
        { 
                ArrayList<String> at=new ArrayList<String>(); 
                at.add("wer"); 
                at.add("wery"); 
                at.add("wert"); 
                at.add("wer"); 
                at.add("wert"); 
                at.add("wery"); 
                at.add("wer"); 
                at.add("werq"); 
                int n=0; 
                String str1,str2; 
                  at.size();打印的是集合的长度,我想这位同学长度(从1开始)和索引(从0开始)好像高哦混淆了 
                while(n<at.size()) 
                { 
                        NN:for(int i =0;i<at.size()-2;i++) 
                                       {                                 
                                 str1=at.listIterator(i).next(); 
                                for(int j=i+1;j<at.size()-1;j++) 
                                { 
                                        str2=at.listIterator(j).next(); 
                                        if(str2==str1) 
                                        { 
                                              at.remove(j);//我想应该改成这样 
//                                                at.listIterator(j).remove();//这里会抛IllegalStateException异常.我认为不应该是从迭代器中移除重复元素.应该是在集合中移除才对. 
                                                break NN; 
                                        } 
                                } 
                        } 
                        n++; 
                } 
                System.out.println(at); 
 
        } 
} 
 |