Java List 集合元素交叉判断与提取
你可以通过遍历集合,并使用一个 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]
原文地址: https://www.cveoy.top/t/topic/pZsY 著作权归作者所有。请勿转载和采集!