两个集合或数组求交集、并集及两者各不相同的元素

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shy415502155/article/details/89144488

如两个数组或两个集合

Integer[] arr1 = {1,2,3,5,6};
Integer[] arr2 = {2,4,5,7};

求两者之间的交集

List<Integer> list1 = Arrays.asList(arr1);
List<Integer> list2 = Arrays.asList(arr2);
// 创建集合 求交集
Collection<Integer> c1 = new ArrayList<Integer>(list1);
Collection<Integer> c2 = new ArrayList<Integer>(list2);
c1.retainAll(c2);
System.out.println("arr1与arr2交集结果:" + c1);

求两者之间的并集

Set result = new HashSet();
result.addAll(list1);
result.addAll(list2);
System.out.println("并集结果:" + result);

求arr1存在的元素,arr2不存在,同理也可获得arr2存在的元素,arr1不存在

List<Integer> l1 = new ArrayList<Integer>();
for(int i = 0; i < len1; i++) {
    Integer num = list1.get(i);
    if (!list2.contains(num)) {
        l1.add(num);
    }
}
System.out.println("arr1集合中存在的元素但是arr2中不存在 :" + l1);

猜你喜欢

转载自blog.csdn.net/shy415502155/article/details/89144488