java Collection的拼接和並集

2021-08-09 04:07:00 字數 1613 閱讀 6473

集合操作常常需要進行一些如多個集合進行拼接,求並集,下面來看看怎麼做拼接和求並集

1.拼接(含重複元素並集,嚴格意義上並集不含重複元素)

實現一:

//採用collection定義的方法addall(),適用兩個集合進行拼接

a.addall(b);

實現一的這種方式最終拼接的結果將放在a中,因此a放生改變了;如果要拼接的集合有幾十個,這也不是很方便。

下面我們自己來實現這個功能

實現二:

/**

*@author puyf

*@description:拼接所有需要拼接的集合,輸入->輸出:collection> ->> list*@param datas 泛型為k的集合(k是乙個collection的子集就行了,這樣datas中的元素k可以是list,可以是set)

*@return 以list的形式拼接所有集合

*/public

static

> listcontact(collectiondatas)

return result;

}/**

*@author puyf

*@description:拼接所有需要拼接的集合,輸入->輸出:n個k(k滿足k extends collection) ->> list*@param datas 可變引數datas,datas的泛型為k(k是乙個collection的子集就行了,這樣datas中的元素k可以是list,可以是set)

*@return 以list的形式拼接所有集合

*/public

static

> listcontact(k... datas)

//測試

public

static

void

main(string args) ));

listlistdata2 = new arraylist<>(arrays.aslist(new integer));

setset = new hashset<>(arrays.aslist(new integer));

list> input = new arraylist<>();

input.add(listdata1);

input.add(listdata2);

input.add(set);

system.out.println("contact可以完成拼接功能:");

system.out.println(contact(input));

system.out.println(contact(listdata1,listdata2,set));

}//測試結果如下:

contact可以完成拼接功能:

[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 99, 100]

[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 99, 100]

2.並集

在集合拼接的基礎上進行去重即可(檢視集合的去重)

Java Collection的操作示例

collection的常見方法 新增 boolean add object obj boolean addall collection coll 刪除 boolean remove object obj boolean removeall collection coll 從原集合中刪除和引數集合相同...

Java Collection集合總結

collection list 有序,可重複 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低 linkedlist 底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高 set 無序,唯一 has...

Java Collection常見方法

collection的常見方法 1 新增 boolean add object obj 新增單個物件 boolean addall collection coll 新增集合 2 刪除 boolean remove object obj 刪除單個物件 boolean removeall collect...