最近回看了一下list的基礎,目前網上主流得對list交並補差有兩種方式
交集交集就是兩個集合都有的部分 lista listb 那a交b結果就是
並集並集就是將兩個集合中所有的元素加在一起 lista listb 那麼a並b結果就是
差集差集就是兩集合元素相減,只保留前面集合中剩下的元素 lista listb 那麼a差b結果 如果b差a 那麼結果
補集我對補集的理解有點偏,但是比較好記,高中的時候就這麼記得, a補b lista listb 結果 其實就是b差a 讀法:a關於b的相對補集是
b補a 結果 讀法b關於a的補集是
第一種:collectionutils工具包中的四個方法;該類所在包org.apache.commons.collections.collectionutils
//並集
collectionutils.union(a, b);
//交集
collectionutils.intersection(a, b);
//交集的補集
collectionutils.disjunction(a, b);
//集合相減
collectionutils.subtract(a, b);
第二種:直接呼叫list中的方法
a交blista.retainall(listb);
a並blista.addall(listb);
a減去b
lista.removeall(listb);
上述的只是基礎型別的排序string,integer等,如果涉及到工作上業務實體類的時候需要在實體類中重寫 equals(
@overridepublic
boolean
equals(object obj)
@override
public
inthashcode()
根據具體業務寫equals()方法和hascode()方法
上面方法只適合少量資料操作,大量資料操作會非常慢,如果碰到大量資料,求交並補的話,還是要自己通過set集合自己些方法 ,大量資料還要看下面的,通過set來進行操作
/*** @方法描述:獲取兩個arraylist的差集
* @param
firstarraylist 第乙個arraylist
* @param
secondarraylist 第二個arraylist
* @return
resultlist 差集arraylist
*/public
static listreceivedefectlist(listfirstarraylist, listsecondarraylist)
} resultlist = new arraylist(result);
return
resultlist;
}/*** @方法描述:獲取兩個arraylist的交集
* @param
firstarraylist 第乙個arraylist
* @param
secondarraylist 第二個arraylist
* @return
resultlist 交集arraylist
*/public
static listreceivecollectionlist(listfirstarraylist, listsecondarraylist)
}resultlist = new arraylist(result);
return
resultlist;
}/*** @方法描述:獲取兩個arraylist的去重並集
* @param
firstarraylist 第乙個arraylist
* @param
secondarraylist 第二個arraylist
* @return
resultlist 去重並集arraylist
*/public
static listreceiveunionlist(listfirstarraylist, listsecondarraylist)
resultlist = new arraylist(dawjidset);
return
resultlist;
}
交集並集差集
1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...
golang 陣列之間的交集,差集,並集,補集
今天公司需求兩個陣列之間的差集,類庫下不下來,就獨立出來了乙份,希望讀者有用 package model import sort sync type set struct 新建集合物件 func new items int set s.add items.returns 新增元素 func s se...
shell bash 交集 並集 差集
方法一 直接用檔名 取兩個文字檔案的並集 交集 差集 並 sort m sort file1 uniq sort file2 uniq uniq 交 sort m sort file1 uniq sort file2 uniq uniq d 差 file1 file2 sort m sort fil...