C 對多個集合和陣列的操作 合併,去重,判斷

2021-10-13 06:02:57 字數 3009 閱讀 3866

在開發過程中.陣列和集合的處理是最讓我們擔心.一般會用for or foreach來處理一些操作.這裡介紹一些常用的集合跟陣列的操作函式.

首先舉例2個集合a,b.

list<

int> lista =

newlist

<

int>

; list<

int> listb =

newlist

<

int>;

lista.

addrange

(listb )

;把集合a.b合併

list<

int> result = lista.

union

(listb)

.tolist

<

int>()

;//剔除重複項

list<

int> result = lista.

concat

(listb)

.tolist

<

int>()

;//保留重複項

lista.

binarysearch

("1");

//判斷集合中是否包含某個值.如果包含則返回0

在舉例兩個陣列

int

i=newint

;int

j=newint

; list<

int> r =

newlist

<

int>()

; r.

addrange

(i);

r.addrange

(j);

int[

] c = r.

toarray()

; 合併陣列

int x=i.

union

(j).

toarray

<

int>()

;//剔除重複項

int[

] x=i.

concat

(j).

toarray

<

int>()

;//保留重複項

int n = array.

binarysearch

(i,3);

//判斷陣列中是否包含某個值.如果包含則返回0

核心想法是利用hashtable不可以存在相同鍵的特性,將list裡的每一條資料分迴圈入hashtable裡的key,value,遇到相同的資料即可跳過,迴圈完畢後去重的資料全部存放在hashtable內,如果需要將去重的資料放入list,可以new乙個新的list,將去重的資料放入新的list

stopwatch watch =

null

;protected

void

page_load

(object sender,

eventargs e)

; list<

string

> copylist =

newlist

<

string

>()

;//hashtable的鍵必須是唯一的,沒有有效的排序,它進行的是內在的排序

hashtable hashtable =

newhashtable()

;//鍵必須是唯一的,而值不需要唯一的

dictionary<

string

,string

> dic =

newdictionary

<

string

,string

>()

;//元素是唯一的

hashset<

string

> hset =

newhashset

<

string

>()

; watch = stopwatch.

startnew()

;foreach

(string str in yuanlist)

//源list去重

} debug.

write(.

padleft(15

)+ watch.elapsed)

; watch = stopwatch.

startnew()

;foreach

(string str in yuanlist)

//源list去重

} debug.

write(.

padleft(15

)+ watch.elapsed)

; watch = stopwatch.

startnew()

;foreach

(string str in yuanlist)

//源list去重

} debug.

write(.

padleft(15

)+ watch.elapsed)

;>response.write(s+"|"));

}

public

partial

class

index

:system.web.ui.page

public

static

void

purge

(ref list<

string

> needtopurge)}}

}}

C 對多個集合和陣列的操作(合併 去重複 判斷)

例如 list lista new list list listb new list lista.addrange listb list result lista.union listb tolist 刪除重複項 list result lista.concat listb tolist 保留重複項...

C 對多個集合和陣列的操作 合併,去重,判斷

在開發過程中.陣列和集合的處理是最讓我們擔心.一般會用for or foreach 來處理一些操作.這裡介紹一些常用的集合跟陣列的操作函式.首先舉例2個集合a,b.listlista new list listlistb new list lista.addrange listb 把集合a.b合併 ...

C 對多個集合和陣列的操作方法 合併,去重,判斷

在開發過程中.陣列和集合的處理是最讓我們擔心.一般會用for or foreach www.cppcns.com來處理一些操作.這裡介紹一些常用的集合跟陣列的操作函式.首先舉例2個集合a,b.list lista www.cppcns.comnew list list listb new list ...