Set<String> all=new LinkedHashSet<>();//总的集合 不重复 排除重复
//动态的 如果为true就代表需要拿这个集合做筛选 筛选到共有的数据,没有共有就是空集合
boolean bl1=true;
boolean bl2=false;
boolean bl3=true;
List<String> list1=new ArrayList<>(Arrays.asList("1","2","3","4","5"));
List<String> list2=new ArrayList<>(Arrays.asList("2","3"));
List<String> list3=new ArrayList<>(Arrays.asList("5"));
//所有集合放到总集合中
all.addAll(list1);
all.addAll(list2);
all.addAll(list3);
//满足条件的进行筛选 找到共同的数据
if(bl1){
all.retainAll(list1);
}
if(bl2){
all.retainAll(list2);
}
if (bl3){
all.retainAll(list3);
}
//最终筛选出的集合 结果 控制台打印看效果
for (String result : all) {
System.out.println(result);
}