码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-06-15 10:30:00      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

方法一 循环元素删除 

[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);  
 

方法二 bubuko.com,布布扣 // 删除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) + " ");
   }
}

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

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

标签:style   class   blog   code   java   http   

原文地址:http://blog.csdn.net/andyliulin/article/details/30768605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!