我现在有个ArrayList,必须删除其中的重复元素,但不能对ArrayList进行排序,请给个提示。谢谢!

解决方案 »

  1.   

    for(int i=0;i<al.Count;i++) {
    temp = al[i];
    for(int j=i+1;j<i;j++) {
    if(temp==al[j]) {
    al.RemoveAt(j);
    }
    }

    }
      

  2.   

    Int32[] arr ={1,2,3,4,5,6,7,8,9,10,1,2,5,8,19,20};
    ArrayList al = new ArrayList();
    for(int i=0;i<arr.Length;i++)
    {
    if(!al.Contains(arr[i]))
    {
    al.Add(arr[i]);
    }
    }
    Object[] arr1=al.ToArray();
      

  3.   

    to  gmfirefox(荒诞居士)
    谢谢你,我当初把问题复杂化了.你的代码有个小错误,for(int j=i+1;j<i;j++) 应为
    for(int j=i+1;j<al.count;j++).我改写了你的代码,这样应该兼容性更好
    ________________________________________________
    for(int i=0;i<al.Count;i++)                    
        {
    for(int j=i+1;j<al.Count;j++)         
                 {
    if(al[i].Equals(al[j])) 
                     {
           al.RemoveAt(j);
                      }
                 }

        }
    ___________________________________________