你可以通过遍历集合,并使用一个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集合判断集合内元素是否有交叉111222333这样算没有交叉112123233这样算有交叉取出交叉的部分21和32

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

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