C#使用集合组织相关数据

简介: C#使用集合组织相关数据

一、为什么使用集合?

数组的长度是固定的,对数组中的元素进行动态添加和删除的时候很麻烦。集合可以更好的进行对元素添加和删除

二、ArrayList集合:

1.类似于数组,但是可以直观的动态维护。

2.位于System.Collections命名空间里面

3.ArrayList是动态可维护的,所以在声明的时候可以不指定大小

4.声明ArrayList的语法:

(1)ArrayList arr = new ArrayList();

(2)ArrayList arr = new ArrayList(2);

5.给集合中添加元素:

add()

eg:arr.Add(“值”);

6.获取集合中的指定元素(根据集合的下标获取)

arr[0];

7.遍历集合中的元素:

(1)使用for循环来获取

for (int i = 0; i < array.Count;i++ ) {

Console.WriteLine(“元素是:”+array[i]);

}

(2)使用foreach来获取

foreach(object o in array){

Console.WriteLine(“元素是:”+o);

}

8.获取集合的长度:

集合名.Count;

9.删除集合中的元素:

(1)根据索引删除

RemoveAt(int index)

eg:arr.RemoveAt(1);

(2)删除指定对象名的元素

Remove(object value);

eg:arr.Remove(“张三”);

(3)清空集合里面所有的元素:

Clear();

arr.Clear();

10.需要注意的是,将ArrayList里面的元素删除时,集合的索引会随之改变。

三、HashTable集合:

1.存储的是键值对形式的数据

2.所属的命名空间是:System.Collections;

3.声明HashTable集合:

HashTable ht = new HashTable();

4.给集合中添加元素:

Add(object key,object value);

key:键

value:值

eg:ht.Add(1,“一”);

5. 获取集合中的元素:

ht[键]

eg:ht[1];

6.遍历hashTable集合:

(1)遍历键:

foreach(object o in ht.Keys){

Console.WriteLine(o);

}

(2)遍历值:

foreach(object o in ht.Values){

Console.WriteLine(o);

}

7.删除HashTable集合中的元素:

Remove(); //根据键删除值

eg:ht.Remove(1);

四、泛型集合List:

1.可以对集合中的元素类型进行约束

2.T代表元素的类型

3.声明泛型集合:

List list = new List();

4.获取元素,添加元素,删除元素,遍历元素均和ArrayList一样。

5.List和ArrayList的区别:

(1)相同点:添加、删除、访问、遍历元素都一样

(2)异同点:List对保存的元素做类型约束,而ArrayList不限制类型。List添加、读取元素的时候无需做装箱、拆箱操作,而ArrayList在添加和读取元素的时候需要装箱和拆箱操作。

五、Dictionary泛型集合:

1.存放的是键值对的元素,声明的同时约束键和值的类型。

2.声明:

Dictionary<int,string> dic = new Dictionary<int,stirng>();

3.给集合里面添加元素:

Add()方法:

dic.Add(1,“中国”);

4.根据键来获取值:

dic[1];

5.根据键删除值:

dic.Remove(1);

6.遍历的集合:

foreach(值的类型 遍历 in 集合.Values){

Console.WriteLine(s);

}

六、泛型类:

1.创建泛型类:

public class Test{

public T id; //id的类型取决于Test中的T

}

2.调用泛型类:

Test t = new Test();

t.id = 10; //值是int类型

3.泛型的优点:

(1)性能高

(2)类型安全

(3)实现代码的重要

目录
相关文章
|
2月前
|
监控 安全 测试技术
1、软件项目规划过程——所有表集合
1、软件项目规划过程——所有表集合
29 0
|
2月前
|
测试技术
7、软件产品交付过程——所有表集合
7、软件产品交付过程——所有表集合
34 0
|
9天前
|
存储
平台设计-字典管理
先定义两个概念:字典类和字典项。
|
2月前
|
自然语言处理 安全 测试技术
4、软件需求管理过程——所有表集合
4、软件需求管理过程——所有表集合
27 0
|
2月前
|
测试技术 API 数据格式
5、软件产品集成过程——所有表集合
5、软件产品集成过程——所有表集合
20 0
|
2月前
|
测试技术 项目管理 数据库
3、软件项目组织过程——所有表集合
3、软件项目组织过程——所有表集合
14 0
|
2月前
|
测试技术
软件过程和产品质量保证过程——所有表集合
软件过程和产品质量保证过程——所有表集合
17 0
|
6月前
|
存储 程序员 C语言
c++ 如何做出实现一组数据的实际索引
c++ 如何做出实现一组数据的实际索引
|
10月前
|
存储 程序员 C语言
c++ 如何做出实现一组数据的实际索引
C++是一种计算机高级程序设计语言, 由​​C语言​​​扩展升级而产生 , 最早于1979年由​​本贾尼·斯特劳斯特卢普​​在AT&T贝尔工
数据结构88-案例分析1-保存员工数据
数据结构88-案例分析1-保存员工数据
53 0
数据结构88-案例分析1-保存员工数据