Java中List集合去除重复数据的方法

来源:互联网 发布:颓废 知乎 编辑:程序博客网 时间:2024/04/28 05:35

1. 循环list中的所有元素然后删除重复

public   static   List  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);                 }              }            }          return list;     }


2. 通过HashSet踢除重复元素

public static List removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); return list; } 

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

// 删除ArrayList中重复元素,保持顺序    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);   } 

4.把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中

public static List removeDuplicate(List list){List listTemp = new ArrayList();for(int i=0;i<list.size();i++){if(!listTemp.contains(list.get(i))){listTemp.add(list.get(i));}}return listTemp;}



0 1
原创粉丝点击