C#集合与泛型集合
2021-05-01 15:29
标签:ccf string 占位符 stack 顺序 log ever ons 泛型 看到这个标题,大家应该就知道有泛型集合,就有非泛型集合 既然都是集合,咱们今儿就简单的来对比讲解下 需要记住的不算太多,理解记忆、理解记忆 2017-11-0411:39:09 C# 泛型集合之非泛型集合类与泛型集合类的对应: *****ArrayList对应List ***HashTable对应Dictionary *****Queue对应Queue *****Stack对应Stack SortedList对应SortedList 第一 : ArrayList(非泛型集合) 与List(泛型集合) ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能: 1.Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。 2.ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。 3.使用 Synchronized 方法可以很容易地创建 ArrayList 的同步版本。而 Array 将一直保持它直到用户实现同步为止。 4.ArrayList 提供将只读和固定大小包装返回到集合的方法。而 Array 不提供。 5.Array 提供 ArrayList 所不具有的某些灵活性: a.可以设置 Array 的下限,但 ArrayList 的下限始终为零。 b.Array 可以具有多个维度,而 ArrayList 始终只是一维的。 c.特定类型(不包括 Object)的 Array 的性能比 ArrayList 好,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱。 d.要求一个数组的大多数情况也可以代之以使用 ArrayList。它更易于使用,并且通常具有与 Object 类型的数组类似的性能。 6.Array 位于 System 命名空间中;ArrayList 位于 System.Collections 命名空间中。 ArrayList类对象方法: 1:Add()向数组中添加一个元素, 一:ArrayList: ArrayList可以不用指定维数 可动态赋值 赋不同类型值 二:Array: Array的容量是固定的 先指定大小 在赋值 List泛型集合: 泛型集合List eg: List 今天暂时到这里,慢慢理解,我脑子也脑子有点儿不够用了,头疼过去过去就好了 2017-11-04 11:40:11 C#集合与泛型集合 标签:ccf string 占位符 stack 顺序 log ever ons 泛型 原文地址:http://www.cnblogs.com/TheJoker/p/7782924.html
2:Remove()删除数组中的一个元素
3:(int i)删除数组中索引值为i的元素
4:Reverse()反转数组的元素
5:Sort()以从小到大的顺序排列数组的元素
6:Clone()复制一个数组1 ArrayList arrayList1 = new ArrayList();
2 arrayList1.
3 arrayList1.Add("a");
4 arrayList1.Add(1);
5 arrayList1.Add("b");
6 Response.Write(arrayList1[1]);
1 Array arrayList2 = Array.CreateInstance(typeof(string), 6);
2 arrayList2.SetValue("a", 0);
3 arrayList2.SetValue("b", 1);
4 Response.Write(arrayList2.GetValue(1));
泛型最重要的应用就是集合操作,使用泛型集合可以提高代码重用性,类型安全和更佳的性能。
List
在泛型定义中,泛型类型参数“
List 1 List students = new List ();
2 Student stu1 = new Student();
3 stu1.Name = "陆小凤";
4 stu1.Number = "0801";
5 stu1.Score = 20;
6 Student stu2 = new Student();
7 stu2.Name = "西门吹雪";
8 stu2.Number = "0802";
9 stu2.Score = 23;
10 students.Add(stu1);
11 students.Add(stu2);
12 Console.WriteLine("集合中的元素个数为{0}", students.Count);
13 foreach (Student stu in students)
14 {
15 Console.WriteLine("/t{0}/t{1}/t{2}", stu.Name, stu.Number, stu.Score);
16 }
17 students.Remove(stu1);
18 Console.WriteLine("集合中的元素个数为{0}", students.Count);
19 Console.ReadLine();
List
List
ArrayList可以添加任意类型元素;List
ArratList添加时装箱,读取时拆箱;List 1 //创建Person对象
2 Person p1 = new Person("张三", 30);
3 Person p2 = new Person("李四", 20);
4 Person p3 = new Person("王五", 50);
5 //创建类型为Person的对象集合
6 List persons = new List ();
7 //将Person对象放入集合
8 persons.Add(p1);
9 persons.Add(p2);
10 persons.Add(p3);
11 //输出第2个人的姓名
12 Console.WriteLine(persons[1].Name);
13 foreach (Person p in persons)
14 {
15 Console.WriteLine("/t{0}/t{1}", p.Name, p.Age);
16 }