zoukankan      html  css  js  c++  java
  • 去除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) + " ");
       }
    }

  • 相关阅读:
    [Js-JDBC]事务
    [Js-JDBC]SQL注入及解决,Statement与PreparedStatement
    [Js-Java SE]IO+Properties配置文件
    [Js-Java SE]可变长参数
    [Js-Java SE]线程同步(加锁)(synchronized,守护进程,死锁,计时器)
    [Js-MySQL]函数
    [Js-MySQL]运算符优先级
    2015年3月30日
    Maven知识点一览
    记一次MySQL(5.7版本)数据库的主从同步和备份
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5182289.html
Copyright © 2011-2022 走看看