Java如何求交集、并集、差集
更新時(shí)間:2023年11月01日 15:29:31 作者:鼠鼠我呀2
這篇文章主要介紹了Java如何求交集、并集、差集問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
Java求交集、并集、差集
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
Set<Integer> set3 = new HashSet<>();
// 交集
crossSet(set1, set2, set3);
//并集
sumSet(set1, set2, set3);
//差集
diffSet(set1, set2, set3);
}
public static void initSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
set1.clear();
set2.clear();
set3.clear();
set1.add(1);
set1.add(2);
set2.add(1);
set2.add(3);
set3.add(1);
set3.add(4);
}
交集(retainAll)
注意:
泛型為引用數(shù)據(jù)類型需要重寫equals()和hashCode()方法。
public static void crossSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
initSet(set1,set2,set3);
set1.retainAll(set2);
set1.retainAll(set3);
System.out.println("set1 set2 set3的交集是:" + set1);
}
并集(addAll)
public static void sumSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
initSet(set1,set2,set3);
set1.addAll(set2);
set1.addAll(set3);
System.out.println("set1 set2 set3的并集是:" + set1);
}
求差集(removeAll)
public static void diffSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
initSet(set1,set2,set3);
set1.removeAll(set2);
set1.removeAll(set3);
System.out.println("set1 set2 set3的差集是:" + set1);
}
結(jié)果展示

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java去除中文括號小括號,或者英文括號的實(shí)例代碼
這篇文章主要介紹了java去除中文括號小括號,或者英文括號的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Java中ShardingSphere分庫分表實(shí)戰(zhàn)
我們做項(xiàng)目的時(shí)候,數(shù)據(jù)量比較大,單表千萬級別的,需要分庫分表,本文主要介紹了Java中ShardingSphere分庫分表實(shí)戰(zhàn),感興趣的可以了解一下2021-09-09
Java多線程實(shí)現(xiàn)模擬12306火車站售票系統(tǒng)
12360火車票售票系統(tǒng)基本上大家都用過,那你知道是怎么實(shí)現(xiàn)的嗎,今天我們就模擬12306火車站售票系統(tǒng)來實(shí)現(xiàn),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
SpringBoot自動裝配Condition的實(shí)現(xiàn)
Spring4.0新增@Conditional注解,用于條件化Bean的注冊,通過實(shí)現(xiàn)Condition接口并重寫matches方法,可以控制Bean的創(chuàng)建與否,感興趣的可以了解一下2024-10-10

