zoukankan      html  css  js  c++  java
  • Java list去重

      

      public void testList() {  
           
         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> 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

     
    
        public void testList2() {  
            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中重复值

    1.对原来list顺序不要求

    public static void removeDuplicate(ArrayList arlList)
     {
     HashSet h = new HashSet(arlList);
     arlList.clear();
     arlList.addAll(h);
     }


    2.对原来list顺序不变

    public static void removeDuplicateWithOrder
    
    (ArrayList arlList)   
     {   
     Set set = new HashSet();   
     List newList = new ArrayList();   
     for (Iterator iter = arlList.iterator(); iter.hasNext(); )   
     {   
     Object element = iter.next();   
     if (set.add(element)) newList.add(element);   
     }   
     arlList.clear();   
     arlList.addAll(newList);   
     }



    这里主要用了set add API 的作用当有了重复值时,返回false  

  • 相关阅读:
    php设计模式 — 简单工厂模式(静态工厂方法模式)
    Vue-Router
    各种选项卡
    jq动画
    如何使用swiper写轮播
    Gulp代码压缩
    闭包
    jquery.validation校验
    grunt-js文件压缩
    CSS
  • 原文地址:https://www.cnblogs.com/rxingyue/p/4146697.html
Copyright © 2011-2022 走看看