取多个集合的交集

1.我们取多个集合的交集,先把各个集合放入list中

java 复制代码
        List < Set < String > > list=new ArrayList<>();
        HashSet<String> set1=new HashSet<>();
        set1.add( "A" );
        set1.add("B" );
        set1.add("C"  );
        HashSet<String> set2=new HashSet<>();
        set2.add( "D" );
        set2.add("B" );
        set2.add( "A" );
        HashSet<String> set3=new HashSet<>();
        set3.add("A" );
        set3.add( "E"  );
        set3.add("B"  );
        list.add(set1);
        list.add(set2);
        list.add(set3);
        Set<String> intersection = list.stream().skip(1)
                .collect(()->new HashSet<>(list.get(0)), Set::retainAll, Set::retainAll);
        System.out.println(intersection);
    }
相关推荐
工一木子4 分钟前
【HeadFirst系列之HeadFirstJava】第16天之深入解析 Java 集合与泛型:高效管理数据的终极指南!(含代码实战)
java·集合·泛型
Yuanymoon44 分钟前
【由技及道】统一封装API返回结果后String返回报错文件解决原理--Spring 消息转换器的层次图解与规则说明【人工智障AI2077的开发问题日志002】
java·spring
听风说雨的人儿1 小时前
ES6 class的继承概念
java·前端·es6
l_tian_tian_1 小时前
JavaWeb——Mybatis、JDBC、数据库连接池、lombok
java·数据库·mybatis
臣妾写不来啊1 小时前
使用dify的api连接外部知识库,dify连接ragflow的知识库(附java代码)
java·开发语言·spring boot
深思慎考1 小时前
Linux——进程间通信初解(匿名管道与命名管道)
java·linux·服务器
Seven971 小时前
【设计模式】使用解释器模式简化复杂的语法规则
java·后端·设计模式
yyueshen2 小时前
JVM中是如何定位一个对象的
java·jvm
异常驯兽师2 小时前
《Java三剑客:JDK、JRE、JVM的“塑料友情”》
java·开发语言·jvm
Seven972 小时前
【设计模式】通过访问者模式实现分离算法与对象结构
java·后端·设计模式