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


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

    方法1:循环list中的所有元素,然后删除重复

    public static void main(String[] args) {
         List<Integer> list = new ArrayList<>();
         list.add(1);
         list.add(1);
         list.add(2);
         list.add(2);
         list.add(3);
         list.add(3);
         for (int i = 0; i < list.size(); 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);
    }

    方法2:通过HashSet踢除重复元素,此方法得到的结果集是无顺序的,乱序的

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

    方法3:把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;
    }

    方法4:删除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( " 移除重复后的list: " + list);    
     }   

    参考:https://www.cnblogs.com/zjfjava/p/9897650.html

  • 相关阅读:
    Mac下django简单安装配置步骤
    NuGet 使用笔记
    gulp es7配置文件
    HaProxy配置
    Java工作环境笔记
    ReactJs笔记
    架构应该解决好对象的克隆问题
    Kotlin笔记
    Scala 笔记
    spark 笔记
  • 原文地址:https://www.cnblogs.com/no8g/p/13415586.html
Copyright © 2020-2023  润新知