java list集合去重复

来源:互联网 发布:迅捷路由器绑定mac干嘛 编辑:程序博客网 时间:2024/05/17 08:43

方法一: 通过Iterator 的remove方法

public static void main(String[] args) {// TODO Auto-generated method stubList<Integer> list=new ArrayList<Integer>();     list.add(1);  list.add(2);  list.add(4);  list.add(1);      list.add(2);  list.add(5);  list.add(1);  List<Integer> listTemp= new ArrayList<Integer>();  Iterator<Integer> it=list.iterator();  while(it.hasNext()){  int a=it.next();  if(listTemp.contains(a)){  it.remove();  }else{  listTemp.add(a);  }   }   for(Integer i:list){   System.out.println(i);   }  }


方法二:直接将结果赋值给另一个List

List<Integer> list=new ArrayList<Integer>();     list.add(1);  list.add(2);  list.add(4);  list.add(1);      list.add(2);  list.add(5);  list.add(1);  List<Integer> tempList= new ArrayList<Integer>();      for(Integer i:list){          if(!tempList.contains(i)){              tempList.add(i);          }      }      for(Integer i:tempList){          System.out.println(i);      }  

方法三:通过set去重,不打乱原有list的顺序

List<Integer> list=new ArrayList<Integer>();     list.add(1);  list.add(2);  list.add(4);  list.add(1);      list.add(2);  list.add(5);  list.add(1);  Set<Integer> set = new  HashSet<Integer>();         for (Integer t :list) {           if(set.add(t)){           System.out.println(t);           }        }





原创粉丝点击