public  ArrayList fun(ArrayList al)
{
ArrayList newal=new ArrayList();
Iterator it ;
it=al.iterator();
boolean flag=false;

while(it.hasNext())
{
Object ob=it.next();
if(!flag)
   {
     newal.add(ob);
     flag=true;
   }
 else
 {
  if (!al.contains(ob))
     newal.add(ob);
 }

}
return newal;
}

解决方案 »

  1.   

    不好意思,
    纠正一下.
    public  ArrayList fun(ArrayList al)
    {
    ArrayList newal=new ArrayList();
    Iterator it ;
    it=al.iterator();
    boolean flag=false;

    while(it.hasNext())
    {
    Object ob=it.next();
    if(!flag)
       {
         newal.add(ob);
         flag=true;
       }
     else
     {
      if (!newal.contains(ob))
         newal.add(ob);
     }

    }
    return newal;
    }
      

  2.   

    1.建议使用HashSet
    2.ArrayList getNew(ArrayList al){
    ArrayList al2=new ArrayList();
    int a;
    al2.add(al.get(0),0)
    for(int i=1;i<al.size();i++){
    String s1=al.get(i);
    boolean b=false;
    for(a=0;a<i;a++){
    String s2=al2.get(a);
    if(b=(s2.equals(sq))==true) break;
    }
    if(b==false) al2.add(s1,i);
    }
    }
    return al2;
    }
      

  3.   

    ArrayList newAl = new ArrayList(new HashSet(ArrayList oldAl));
      

  4.   

    这种情况用set比list要好。因为set本身就不包括重复的值。
    如果你要坚持用list的话,就自己写代码剔除其中的重复值,也挺简单的。
      

  5.   

    直接用xxxSet,当你add()的时候,它就自动剔除重复的值了,HashSet hs = new HashSet(arrayList)
      

  6.   

    用Set不允许重复元素,也可以加入到ArrayList的时候加一个判断