举个栗子:
Set<Integer> set1 = Sets.newHashSet(1, 2, 3, 4, 5, 6);
Set<Integer> set2 = Sets.newHashSet(5, 6, 7, 8, 9, 10);
Set<Integer> setUnion = Sets.union(set1, set2);//返回两个集合并集的不可修改视图
setUnion.forEach(i -> log.info(i.toString()));
log.info("-----------------");
Set<Integer> setInterSection = Sets.intersection(set1, set2);//返回两个集合交集的不可修改视图
setInterSection.forEach(i -> log.info(i.toString()));
log.info("-----------------");
Set<Integer> setFilter1 = Sets.filter(set1, i -> i > 3);
set1.add(0);set1.forEach(i -> log.info("?{}?",i.toString()));
setFilter1.forEach(i -> log.info(i.toString()));//过滤器。函数式接口Predicate过滤。返回符合条件的元素,可以修改,需要注意的是,修改是修改原来的集合set1
log.info("--------");
Set<Integer> setFilter2 = S