在Java中,可以使用Set
接口及其实现类(如HashSet
、LinkedHashSet
和TreeSet
)来高效地实现集合的并集、交集和差集操作。以下是实现这些操作的示例代码:
import java.util.HashSet;
import java.util.Set;
public class Union {
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
set2.add(5);
// 使用addAll()方法将set2中的元素添加到set1中,实现并集
set1.addAll(set2);
// 输出并集结果
System.out.println("并集: " + set1);
}
}
import java.util.HashSet;
import java.util.Set;
public class Intersection {
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
set2.add(5);
// 使用retainAll()方法保留set1和set2的交集元素
set1.retainAll(set2);
// 输出交集结果
System.out.println("交集: " + set1);
}
}
import java.util.HashSet;
import java.util.Set;
public class Difference {
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
set2.add(5);
// 使用removeAll()方法移除set1中与set2相同的元素,实现差集
set1.removeAll(set2);
// 输出差集结果
System.out.println("差集: " + set1);
}
}
注意:这些操作的时间复杂度取决于底层数据结构(如HashSet
)的实现。在HashSet
中,这些操作的时间复杂度为O(min(m, n)),其中m和n分别为两个集合的大小。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。