ArrayList去除重复项

本文提供了两种使用C#去除ArrayList中重复元素的方法:第一种通过排序后移除相邻重复项;第二种采用双层循环逐个比较并删除重复项。此外还提供了一种利用Hashtable去除重复项的高效方案。

 //去重复方法一
        private ArrayList RemoveDuplicateNum(ArrayList list)
        {
            list.Sort();
            for (int i = 0; i < list.Count - 1; i++)
            {
                if (list[i].Equals(list[i + 1]))
                {
                    list.RemoveAt(i);//去重复项  
                    i--;
                }
            }
            return list;

        }
        //去重复方法二
        private ArrayList RemoveSame(ArrayList list)
        {
            //上面写的那句是多余的,这个是最终的  
            for (int i = 0; i < list.Count - 1; i++)
            {
                for (int j = i + 1; j < list.Count; j++)
                {
                    if (list[i].Equals(list[j]))
                    {
                        list.RemoveAt(j);
                        j--;
                    }
                }
            }
            return list;
        }

 

//////////////////////////////////

public static void main(String[] args){
  ArrayList list = new ArrayList();
  list.add("1"); list.add("2"); list.add("2");
  Iterator it1 = list.iterator();
  Hashtable ht = new Hashtable();
  while(it1.hasNext()){
   Object obj = it1.next();
   ht.put(obj, obj);
  }
 
  Iterator it2 = ht.keySet().iterator();
  list = new ArrayList();
  while(it2.hasNext()){
   list.add(it2.next());
  }

 

转载于:https://www.cnblogs.com/furenjian/articles/3011748.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值