美文网首页
java Lambda List集合重复数据获取实现

java Lambda List集合重复数据获取实现

作者: 普通的一个程序员 | 来源:发表于2021-10-15 16:38 被阅读0次

Map列表,对其中多个列进行分组,判断重复的实现

  • 指定去重的列
  • 按照指定的列分组
    public static List uniqueList(List<Map<String, String>> rows) {

        List test = rows.stream().collect(Collectors.toMap(e -> {
            return e.get("column1") + "_" + e.get("column2");
        }, e-> {
            List result = new ArrayList();
            result.add(e);
            return result;
        }, (a, b) -> {
            a.addAll(b);
            return a;
        })).entrySet().stream().filter(entry -> entry.getValue().size() > 1)
                .collect(ArrayList::new, (list, entry)->{
                    list.addAll(entry.getValue());
                },(list1, list2) ->{
                    list1.addAll(list2);
                });
        return test;
    }

获取重复的key

    public static Set getMultiKeys(List<Map<String, String>> rows) {

        Set test = rows.stream().collect(Collectors.toMap(e -> {
            return e.get("column1") + "_" + e.get("column2");
        }, e-> {
            List result = new ArrayList();
            result.add(e);
            return result;
        }, (a, b) -> {
            a.addAll(b);
            return a;
        })).entrySet().stream().filter(entry -> entry.getValue().size() > 1)
                .collect(HashSet::new, (list, entry)->{
                    list.add(entry.getKey());
                },(list1, list2) ->{
                    list1.addAll(list2);
                });
        return test;
    }

相关文章

  • java Lambda List集合重复数据获取实现

    Map列表,对其中多个列进行分组,判断重复的实现 指定去重的列 按照指定的列分组 获取重复的key

  • ArrayList 与 LinkedList的性能区别

    Java集合类 Set:无序、不可重复;List有序、重复的集合;Queue代表队列集合实现;Map代表具有映射关...

  • Java中的集合

    Java集合体系 Set(接口):代表无序、不可重复的集合 List(接口):代表有序、重复的集合 Map(接口)...

  • 集合的继承体系,迭代器

    -java集合可分为set,list,map三种体系,其中set代表无序,不可重复的集合,list代表有序可重复的...

  • 集合

    java集合接口有List,Set,Map。 List和Set都实现了Collection(对集合排序,遍历)接口...

  • List&Map&Set的操作和遍历

    List&Map&Set的操作和遍历 Java的三大集合即:Set、List、Map。 Set:代表无序、不可重复...

  • Map接口

    Java常用集合为List,Set和Map,其中List和Set都实现了Collection接口,而Map并没有 ...

  • JAVA:Set/List/Map 集合(一)

    Java集合大致可分为:Set,List和Map 三种体系,其中Set代表无序、不可重复的集合;List代表有序、...

  • kotlin中的集合

    集合Java中常用的集合主要是List、Set和Map接口,List的实现类是ArrayList和LinkedLi...

  • 论程序员的自我修养提升

    1、Java集合类简介: 集合大致分为Set、List、Queue、Map四种 Set:无序、不可重复的集合 Li...

网友评论

      本文标题:java Lambda List集合重复数据获取实现

      本文链接:https://www.haomeiwen.com/subject/ripmoltx.html