确保每次运行结果不会被前一个结果影响 建议运行时候把之前的方法注释掉
public static void main(String[] args) {
List<String> partListOne = new ArrayList();
partListOne.add("1");
partListOne.add("2");
partListOne.add("3");
List<String> partListTwo = new ArrayList();
partListTwo.add("3");
partListTwo.add("5");
partListTwo.add("6");
List<String> reduceOne = partListOne.stream()
.filter(item -> !partListTwo.contains(item))
.collect(Collectors.toList());
reduceOne.parallelStream().forEach(System.out::println);
List<String> reduceTwo = partListTwo.stream()
.filter(item -> !partListOne.contains(item))
.collect(Collectors.toList());
reduceTwo.parallelStream().forEach(System.out::println);
partListOne.addAll(partListTwo);
partListOne.parallelStream().distinct().forEach(System.out::println);
partListOne.addAll(partListTwo);
partListOne.parallelStream().forEach(System.out::println);
partListOne.addAll(partListTwo);
Map<String, Long> collect = partListOne.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
List<String> result = collect.entrySet().stream()
.filter(e -> e.getValue() > 1).map(Map.Entry::getKey)
.collect(Collectors.toList());
System.out.println(result.toString());
List<String> intersection = partListOne.stream()
.filter(partListTwo::contains).collect(Collectors.toList());
intersection.parallelStream().forEach(System.out :: println);
}