C#的6种常用集合类大比拼
作者:清清月儿
主页:http://blog.csdn.net/21aspnet/ 时间:2007.6.27
说明:MSDN没有说出几种集合类其间的区别,当然欲知更多细节可参考MSDN。
一.先来说说数组的不足(也可以说集合与数组的区别):
1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的
2.数组要声明元素的类型,集合类的元素类型却是object.
3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。
4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问!
二.下面讲述6种常用集合
1.ArrayList类
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
...{
class Program
...{
static void Main(string[] args)
...{
ArrayList al = new ArrayList();
al.Add(100);//单个添加
foreach (int number in new int[6] ...{ 9, 3, 7, 2, 4, 8 })
...{
al.Add(number);//集体添加方法一//清清月儿 http://blog.csdn.net/21aspnet/
}
int[] number2 = new int[2] ...{ 11,12 };
al.AddRange(number2);//集体添加方法二
al.Remove(3);//移除值为3的
al.RemoveAt(3);//移除第3个
ArrayList al2 = new ArrayList(al.GetRange(1, 3));//新ArrayList只取旧ArrayList一部份
Console.WriteLine("遍历方法一:");
foreach (int i in al)//不要强制转换
...{
Console.WriteLine(i);//遍历方法一
}
Console.WriteLine("遍历方法二:");
for (int i = 0; i != al2.Count; i++)//数组是length
...{
int number = (int)al2[i];//一定要强制转换
Console.WriteLine(number);//遍历方法二
}
}
}
}
2.Stack类
栈,后进先出。push方法入栈,pop方法出栈。
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
...{
class Program
...{
static void Main(string[] args)
...{
Stack sk = new Stack();
Stack sk2 = new Stack();
foreach (int i in new int[4] ...{ 1, 2, 3, 4 })
...{
sk.Push(i);//填充
sk2.Push(i);
}
foreach (int i in sk)
...{
Console.WriteLine(i);//遍历
}
sk.Pop();
Console.WriteLine("Pop");
foreach (int i in sk)
...{
Console.WriteLine(i);
}
sk2.Peek();//弹出最后一项不删除//清清月儿 http://blog.csdn.net/21aspnet/
Console.WriteLine("Peek");
foreach (int i in sk2)
...{
Console.WriteLine(i);
}
while (sk2.Count != 0)
...{
int i = (int)sk2.Pop();//清空
sk2.Pop();//清空
}
Console.WriteLine("清空");
foreach (int i in sk2)
...{
Console.WriteLine(i);
}
}
}
}
3.Queue类
队列,先进先出。enqueue方法入队列,dequeue方法出队列。
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
...{
class Program
...{
static void Main(string[] args)
...{
Queue qu = new Queue();
Queue qu2 = new Queue();
foreach (int i in new int[4] ...{ 1, 2, 3, 4 })
...{
qu.Enqueue(i);//填充
qu2.Enqueue(i);
}
foreach (int i in qu)
...{
Console.WriteLine(i);//遍历
}
qu.Dequeue();
Console.WriteLine("Dequeue");
foreach (int i in qu)
...{
Console.WriteLine(i);
}
qu2.Peek();//弹出最后一项不删除
Console.WriteLine("Peek");
foreach (int i in&n
分享到:
相关推荐
C#的6种常用集合类大比拼C#的6种常用集合类大比拼
CSharp的6种常用集合类,并用简单代码实现。
最全的C#常用开发类,cs文件,使用起来非常方便。大约有100多个常用类,
C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...
C#Map映射各个方式性能大比拼,主要测试了各种方式情况下,由一个对象生成另一个相同对象副本,1是列举了常用方式;2是各个方式的性能分析;如果你是喜欢深究其原理的C#开发者,此示例绝对值得你拥有。
C#6大集合类:1.ArrayList类2.Stack类3.Queue类4.Hashtable类5.SortedList类6.NameValueCollection类。
C#集合类 C#集合类 教程学习资源
C#常用工具类代码集合Util(自己工作总结),欢迎分享给大家,一起进步,有什么问题可以找我沟通,谢谢大家。
c# 集合的使用方法,适合初学者。包括ArrayList,Statck,Queue,Dictionary的基本操作方法。
C#常用函数大集合,学习C#多看看函数对你很有帮助。
C#实体、集合类生成器,连接数据库服务-》选择数据库-》选择表-》选择字段-》点击生成即可生成C#实体 C#集合类
C#经典常用类库集合!不经典我给你100分!
C# 各种通用类集合【技术文档】 MyHelper-master.zip MyHelper4Web API.chm ASP.NET中常用的33种代码 (C#版).txt
本文档对C#的几种常见的集合(BitArray, Dictionary, Hashtable, NameValueCollection, Queue, Stack)的用法作了归纳,每种集合都附有完整的测试代码。(另外一种常见集合ArrayList收录在另外一份文档:<C# List使用...
C#资料大集合C#资料大集合C#资料大集合C#资料大集合C#资料大集合C#资料大集合
C#项目源码大集合C#项目源码大集合C#项目源码大集合C#项目源码大集合
总结的常用的C#42个CLASS,希望能帮到大家的忙。
C#最常用的100多个类库集合分享 包含文件、网络、http、多线程、控件、office、IO、JSON、压缩文件、文本字符串、正则表达式、HTML、邮件、系统、数据库、加密解密等操作类等
C#中的数组与集合类,vusual studio 2008教程