集合使用stream求两个集合的交集和差集

代码如下:

public static void main(String[] args) {
    List list1=new ArrayList<>();
    list1.add(1);list1.add(2);list1.add(3);list1.add(4);list1.add(5);

    List list2=new ArrayList<>();
    list2.add(1);list2.add(2);
    //1.使用stream求两个集合的共有元素
    List collect1 = list1.stream().filter(i -> list2.contains(i)).collect(Collectors.toList());
    //2.从一个集合中过滤掉另一个集合的元素
    List collect2 = list1.stream().filter(i -> !list2.contains(i)).collect(Collectors.toList());
    System.out.println("两个集合的公共元素collect1:"+collect1);
    //两个集合的公共元素collect1:[1, 2]
    System.out.println("list1中过滤掉list2后的集合元素:collect2:"+collect2);
    //list1中过滤掉list2后的集合元素:collect2:[3, 4, 5]
}

你可能感兴趣的:(java)