求两个集合的差集、交集、并集
package com.ekkcole.controlle;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
chaJi();
jioaJi();
bingJi();
}
public static void chaJi(){
List<String> listOne = Arrays.asList("1", "2", "3", "4");
List<String> listTwo = Arrays.asList("1", "5", "6", "7");
listTwo = listTwo.stream().filter(a -> {
return !listOne.contains(a);
}).collect(Collectors.toList());
System.out.println("差集" + listTwo.toString());
}
public static void jioaJi(){
List<String> listOne = Arrays.asList("1", "2", "3", "4");
List<String> listTwo = Arrays.asList("1", "5", "6", "7");
List<String> collect = listTwo.stream().filter(a -> {
return listOne.contains(a);
}).collect(Collectors.toList());
System.out.println("交集 " + collect.toString());
}
public static void bingJi(){
List<String> listOne = Arrays.asList("1", "2", "3", "4");
List<String> listTwo = Arrays.asList("1", "5", "6", "7");
List<String> collect1 = listOne.parallelStream().collect(Collectors.toList());
List<String> collect2 = listTwo.parallelStream().collect(Collectors.toList());
collect1.addAll(collect2);
System.out.println("并集 = " + collect1.toString());
collect1.addAll(collect2);
List<String> collect = collect1.stream().distinct().collect(Collectors.toList());
System.out.println("去重并集= " + collect.toString());
}
}