zoukankan      html  css  js  c++  java
  • 对 List<T> 集合对象根据某个字段去重的方法

    (1)使用 java8 自带的方法即可:(推荐使用该方法)

    List<User> lists = 从某处得来的集合;
    lists = lists.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getXxx))), ArrayList::new));

    这样得到的集合 lists,就是去重后的集合了!

    (2)还有一种方法,但是该方法有时返回的集合正确,有时不正确。(慎重使用!)

    private static List<User> getDistinctInfo(List<User> list) {
    	Set<User> set = new TreeSet<>(new Comparator<User>() {
    	    @Override
                public int compare(User o1, User o2) {
    		int compareToResult = 1;//==0表示重复
                    if(StringUtils.equals(o1.getXxx().toString(), o2.getXxx().toString())) {
                        compareToResult = 0;
                    }
                    return compareToResult;
    		}
    	    });
            set.addAll(list);
            return new ArrayList<>(set);
    }
    

      

  • 相关阅读:
    JS 位数不够自动左补0
    oracle 不同表空间的数据迁移
    Vue 学习
    c# 之Web.config
    c# 之泛型
    WritableWorkbook操作Excel
    MIME类型
    Excel 批量出来数据
    Excel的用到的常规的技巧
    得到Xml中 元素的值
  • 原文地址:https://www.cnblogs.com/xuehuashanghe/p/10593614.html
Copyright © 2011-2022 走看看