package list.list;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @ClassName: JavaListOps
* @Description:
* @Author: xuezhouyi
* @Version: V1.0
**/
public class JavaListOps {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2,3,4));
/* Java8的stream实现,不直接操作集合中的元素 */
/* 交集 */
List<Integer> collect1 = list1.stream().filter(e -> list2.contains(e)).collect(Collectors.toList());
System.out.println(collect1);
/* 差集 */
List<Integer> collect2 = list1.stream().filter(e -> !list2.contains(e)).collect(Collectors.toList());
System.out.println(collect2);
/* 并集 */
ArrayList<Integer> collect = new ArrayList<>();
collect.addAll(list1);
collect.addAll(list2);
Set<Integer> collect3 = collect.stream().collect(Collectors.toSet());
System.out.println(collect3);
/* 普通实现,需要注意集合对元素的实际操作 */
/* 交集 */
list1.retainAll(list2);
System.out.println(list1);
/* 差集 */
list1.removeAll(list2);
System.out.println(list1);
/* 并集 */
list1.addAll(list2);
System.out.println(list1);
}
}
Java集合操作(交集|差集|并集)
猜你喜欢
转载自blog.csdn.net/DataIntel_XiAn/article/details/100995399
今日推荐
周排行