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

来源:互联网 发布:cf手游刷枪软件不封号 编辑:程序博客网 时间:2024/06/06 09:23

方法一 循环元素删除 

[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) + " ");   }}

0 0