java去除List中重复的元素

    xiaoxiao2021-03-25  86

    本文转自:http://www.cnblogs.com/goyier/p/4682791.html

     

    如果用Set ,倘若list里边的元素不是基本数据类型而是对象,

    那么请覆写Object的boolean   equals(Object   obj)   和int   hashCode()方法.

    return new ArrayList(new HashSet(list));  

     

    方法一:循环元素删除  // 删除ArrayList中重复元素 

    1 2 3 4 5 6 7 8 9 10 public  static  void  removeDuplicate(List 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(list); }

      

       

      方法二:通过HashSet剔除 // 删除ArrayList中重复元素 

    1 2 3 4 5 6 public  static  void  removeDuplicate(List list) {        HashSet h =  new  HashSet(list);        list.clear();        list.addAll(h);        System.out.println(list); }

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

    // 删除ArrayList中重复元素,保持顺序  

    1 2 3 4 5 6 7 8 9 10 11 12 public  static  void  removeDuplicateWithOrder(List 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);       System.out.println(  " remove duplicate "  + list);
    转载请注明原文地址: https://ju.6miu.com/read-41099.html

    最新回复(0)