用java找出两个集合中相同的元素和不通的元素

发布时间 2023-04-10 09:00:26作者: 黄橙

用java找出两个集合中相同的元素和不通的元素

假设有两个集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set<Integer> A = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
        Set<Integer> B = new HashSet<>(Arrays.asList(3, 4, 5, 6, 7));
        
        // 找出相同的元素
        Set<Integer> intersection = new HashSet<>(A);
        intersection.retainAll(B);
        System.out.println("相同的元素:" + intersection);
        
        // 找出不同的元素
        Set<Integer> difference = new HashSet<>(A);
        difference.addAll(B);
        Set<Integer> tmp = new HashSet<>(A);
        tmp.retainAll(B);
        difference.removeAll(tmp);
        System.out.println("不同的元素:" + difference);
    }
}

 

输出结果:

相同的元素:[3, 4, 5]
不同的元素:[1, 2, 6, 7]
 
 

用java找出两个list集合中相同的元素和不通的元素

 
import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<Integer> A = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
        List<Integer> B = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
        
        // 找出相同的元素
        List<Integer> intersection = new ArrayList<>(A);
        intersection.retainAll(B);
        System.out.println("相同的元素:" + intersection);
        
        // 找出不同的元素
        List<Integer> difference = new ArrayList<>(A);
        difference.addAll(B);
        List<Integer> tmp = new ArrayList<>(A);
        tmp.retainAll(B);
        difference.removeAll(tmp);
        System.out.println("不同的元素:" + difference);
    }
}

 

 

假设有两个List集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:


输出结果:

相同的元素:[3, 4, 5]
不同的元素:[1, 2, 3, 4, 5, 6, 7]

需要注意的是,List集合中的元素可以重复,因此相同的元素可能会出现多次。