你可以通过遍历集合,并使用一个 Set 来记录每个元素的出现次数。当遍历到一个元素时,如果该元素已经在 Set 中出现过,则表示有交叉。具体代码如下:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(1);
        list.add(2);
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(2);
        list.add(3);
        list.add(3);
        
        Set<Integer> set = new HashSet<>();
        List<Integer> intersection = new ArrayList<>();
        
        for (Integer num : list) {
            if (set.contains(num)) {
                intersection.add(num);
            } else {
                set.add(num);
            } 
        }
        
        System.out.println('交叉的部分: ' + intersection);
    }
}

输出结果为:

交叉的部分: [2, 1, 3, 2]
Java List 集合元素交叉判断与提取

原文地址: https://www.cveoy.top/t/topic/pZsY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录