using system.collections; (非泛型集合)
using system.collections.generic;(泛型集合)
2.1 arraylist集合:
增加元素、刪除元素
namespace 集合
", arraylist.count)
; console.
writeline
("集合現在的容量為"
, arraylist.capacity)
;//向集合中新增元素
arraylist.
add(21)
; console.
writeline
("集合中元素的個數為"
, arraylist.count)
; console.
writeline
("集合現在的容量為"
, arraylist.capacity)
; arraylist.
add(
"21");
arraylist.
add(
"***");
person p1 = new person()
; p1.name =
"...."
; arraylist.
add(p1)
;
console.
writeline
("集合中元素的個數為"
, arraylist.count)
; console.
writeline
("集合現在的容量為"
, arraylist.capacity)
; arraylist.
addrange
(new int
);console.
writeline
("集合中元素的個數為"
, arraylist.count)
; console.
writeline
("集合現在的容量為"
, arraylist.capacity)
;//向指定的位置插入乙個元素
arraylist.
insert(0
,"www");
//向指定的位置插入乙個元素
arraylist.
insertrange(5
, new string)
;//刪除元素
//想要將元素全部刪除,直接clear();
// removeat:按照索引去刪除元素
// remove: 根據物件來刪除
arraylist.
removeat(5
);arraylist.
remove
(p1)
;//在陣列中,想要知道陣列長度用.length,而所有的集合使用的是.count。
//通過下標獲取元素
for(
int i =
0; i < arraylist.count; i++
) console.
readkey()
;}} public class person
public int age
public string email
}}
拼接兩個arraylist集合,並將相同的元素去掉。
static
void
main
(string[
] args)
; arr1.
addrange
(s1)
; string[
] s2 = new string;
arr2.
addrange
(s2)
;for
(int i =
0; i < arr2.count;i++)}
for(
int i =
0; i < arr1.count; i++
) console.
readkey()
;}
2.2 hashtable集合:
hashtable 鍵值對集合,類似於字典,hashtable在查詢元素的時候,速度非常快。
namespace 物件1
hash.
add(
"xzl"
, new person()
);//通過鍵獲取值
console.
writeline
(hash[
"h1"].
tostring()
);person p1 = hash[
"xzl"
] as person;
console.
writeline
(p1.name)
;//遍歷hashtable
// 1. 遍歷鍵: 使用foreach遍歷 //
foreach
(var i in hash.keys)
——值"
, i, hash[i]);
}// 2. 直接遍歷值 //
foreach (var i in hash.values)
", i);}
// 3. 直接遍歷鍵值對 //
foreach
(dictionaryentry kv in hash)
值:", kv.key,kv.value);}
console.
readkey()
;}} class person
public person
(string name,
int age,
int height)
public person
(string name)
:this
(name,0,
0)public string name
public int age
public int height
}}
泛型集合的用處更多更大更方便,因此大多情況下使用的都是泛型集合。
static
void
main
(string[
] args)
//遍歷值
foreach (
int item in dict.values)
//直接遍歷鍵值對
foreach (keyvaluepairint> item in dict)
值",item.key,item.value);}
console.
readkey()
;}
mat text = new mat(10
,10,depthtype.cv32f,1)
; unsafe
}}list<
float
> a1 = new list<
float
>()
; unsafe
}}
C 集合 泛型集合
非泛型集合的類和介面位於system.collections命名空間。泛型集合的類和介面位於system.collections.generic命名空間。普通集合 arraylist 值 有序不唯一 hashtable key 必須唯一 可為空 不能為null value 可重複 能為空和null ...
C 泛型 泛型集合Dictionary
在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...
C 泛型集合
集合是oop中的乙個重要概念,c 中對集合的全面支援更是該語言的精華之一。為什麼要用泛型集合?在c 2.0之前,主要可以通過兩種方式實現集合 a.使用arraylist 直接將物件放入arraylist,操作直觀,但由於集合中的項是object型別,因此每次使用都必須進行繁瑣的型別轉換。b.使用自定...