这是上月阿里电面没有回答上的问题,特此纪念一下。
- 使用java自带函数求并集的方式:
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Set<Integer> result = new HashSet<Integer>();
Set<Integer> set1 = new HashSet<Integer>(){{
add(1);
add(3);
add(5);
}};
Set<Integer> set2 = new HashSet<Integer>(){{
add(1);
add(2);
add(3);
}};
result.clear();
result.addAll(set1);
result.retainAll(set2);
System.out.println("交集:"+result);
result.clear();
result.addAll(set1);
result.removeAll(set2);
System.out.println("差集:"+result);
result.clear();
result.addAll(set1);
result.addAll(set2);
System.out.println("并集:"+result);
}
}
还有一种不用java函数的解决方式:
- 将两个set的元素放到一个数组里面,然后用快速排序将数组排序。
- 遍历有序数组,统计相等的相邻元素对的个数。
Java集合操作实例
本文提供了一个Java程序示例,展示了如何使用HashSet实现两个整数集合的并集、交集及差集的操作。此外,还介绍了一种不使用内置函数的方法来获取并集,即通过合并两个集合到一个数组中,并利用快速排序进行排序后统计相等的相邻元素对。
2257

被折叠的 条评论
为什么被折叠?



