• 去除List列表中反复值(稍作调整,也适合于List<T> 和 List<?>)


    方法一 循环元素删除 

    [c-sharp] view plaincopy
    1. public static void removeDuplicate(List list) {  
    2.   for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {  
    3.    for ( int j = list.size() - 1 ; j > i; j -- ) {  
    4.      if (list.get(j).equals(list.get(i))) {  
    5.        list.remove(j);  
    6.      }   
    7.     }   
    8.   }   
    9.   System.out.println(list);  
     

    方法二 图片点击可在新窗体打开查看 // 删除ArrayList中反复元素 

    [c-sharp] view plaincopy
    1. public static void removeDuplicate(List list) {  
    2.   for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {  
    3.    for ( int j = list.size() - 1 ; j > i; j -- ) {  
    4.      if (list.get(j).equals(list.get(i))) {  
    5.        list.remove(j);  
    6.      }   
    7.     }   
    8.   }   
    9.   System.out.println(list);  
     

    方法三 删除ArrayList中反复元素,保持顺序

    [c-sharp] view plaincopy
    1. // 删除ArrayList中反复元素,保持顺序   
    2.  public static void removeDuplicateWithOrder(List list) {  
    3.     Set set = new HashSet();  
    4.      List newList = new ArrayList();  
    5.    for (Iterator iter = list.iterator(); iter.hasNext();) {  
    6.          Object element = iter.next();  
    7.          if (set.add(element))  
    8.             newList.add(element);  
    9.       }   
    10.      list.clear();  
    11.      list.addAll(newList);  
    12.     System.out.println( " remove duplicate " + list);  
    13.  }  
     

    方法四  linq

    [c-sharp] view plaincopy
    1. IList<string> U_list= new List<string>();  
    2. IList<string> Update_list= new List<string>();  
    3. var ulist = (from li in U_list  
    4.                   select li).Distinct();  
    5.  foreach (var d in ulist)  
    6.   {  
    7.      Update_list.Add(d);  
    8.   }  
     其它情况:

    去除List列表中反复值(3种解决方法)

    public static void main(String[] args) {
       String[] ar = { "dd", "c", "dd", "ff", "b", "e", "e" };
       ArrayList list = new ArrayList();
       for (int i = 0; i < ar.length; i++) {
        list.add(ar[i]);
       }
       System.out.println("执行前:");
       for (int i = 0; i < list.size(); i++) {
        System.out.print(list.get(i) + " ");
       }
       System.out.println();
       /*   第一种方法                   */
       /**
       * set方法去除list中反复的数据 set中插入反复的值仅仅保留一个
       */
       HashSet h = new HashSet(list);
       list.clear();
       list.addAll(h);
       /* 第一种方法                   */
      
       /* 另外一种方法                   */
       /**
       * 第二中方法去除list中反复的数据
       */
       Set set = new HashSet();
       List newList = new ArrayList();
       for (Iterator iter = list.iterator(); iter.hasNext();) {
        Object element = iter.next();
        if (set.add(element))
         newList.add(element);
       }
       list.clear();
       list.addAll(newList);
       /* 另外一种方法                   */
      
      
       /* 第三种方法                        */
       /**
       * 普通的方法去除list中反复的数据
       */
       for (int i = 0; i < list.size() - 1; i++) {
        for (int j = list.size() - 1; j > i; j--) {
         if (list.get(j).equals(list.get(i))) {
          list.remove(j);
         }
        }
       }
       /* 第三种方法                        */
       System.out.println("执行后:");
       for (int i = 0; i < list.size(); i++) {
        System.out.print(list.get(i) + " ");
       }
    }

  • 相关阅读:
    安全参考和书安 NPM、PYPI、DockerHub 备份
    [NTT][组合]P4491 [HAOI2018]染色
    [主席树][哈希][最短路]CF464E The Classic Problem
    序章在那星雨之夜
    [二分][后缀数组]luogu P2463 [SDOI2008]Sandy的卡片
    GDOI 2021 退役记
    [后缀数组][单调栈]luogu P4248 [AHOI2013]差异
    [BFS]luogu P2536 [AHOI2005]病毒检测
    [多项式下降幂][组合][二项式定理]luogu P6620 [省选联考 2020 A 卷] 组合数问题
    AtCoder Regular Contest 116 总结
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5182289.html
Copyright © 2020-2023  润新知