您的位置:首页 > 编程语言 > C#

C#集合

2016-08-04 09:27 411 查看
 集合,表示可以通过遍历每个元素来访问的一组对象(特别是可使用foreach循环访问),一个集合包括多个元素,即有一个集合类对象和N个元素对象。

  集合不同于数组,是一组可变类型的、可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,为了便于操作这些元素的类型是相同的。

  在使用集合以前,我们要在程序的开头引入using System.Collections空间。 而在C#中Collections为我们提供的集合有ArrayList、Stack、Queue、Hashtable等。

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("a");
al.Add(65);
int count = al.Count;
al.Capacity = 5; //设置容量
al.RemoveAt(0);
al.Insert(0, 66);
Console.WriteLine(al[0]);
al.Clear();*/

/*------------
* 栈-后进先出|
* -----------
*
Stack s = new Stack();
s.Push(1);
s.Push(10);
int count = s.Count;//2
Console.WriteLine(s.Pop());//10
Console.WriteLine(s.Pop());//1*/

/*--------------
* 队列-先进先出|
* -------------
*
Queue q = new Queue();
q.Enqueue('A'); // 增加元素
q.Enqueue('M');
q.Enqueue('G');
q.Enqueue('W');

Console.WriteLine("Current queue: "); // A M G W
foreach (char c in q)
Console.Write(c + " ");
Console.WriteLine();
q.Enqueue('V');
q.Enqueue('H');
Console.WriteLine("Current queue: ");  // A M G W V H
foreach (char c in q)
Console.Write(c + " ");
Console.WriteLine();
Console.WriteLine("Removing some values ");
char ch = (char)q.Dequeue();          //移除元素
Console.WriteLine("The removed value: {0}", ch); // A
ch = (char)q.Dequeue();
Console.WriteLine("The removed value: {0}", ch); // M */

/*-------------------
* 哈希表-键与值对应|
* -----------------
Hashtable ht = new Hashtable(); //声明ht
//key值唯一,value值可以重复.
ht.Add("E", "e");//添加key/键值对
ht.Add("A", "a");
ht.Add("C", "c");
ht.Add("B", "b");
foreach (string sv in ht.Values)
{
Console.WriteLine(sv);
}
foreach (string sv in ht.Keys)
{
Console.WriteLine(sv);
}

string s = (string)ht["A"];
if (ht.ContainsKey("E")) //判断哈希表是否包含特定键,其返回值为true或false
Console.WriteLine("the E key:exist");
ht.Remove("C");//移除一个key/键值对
Console.WriteLine(ht["A"]);//此处输出a
ht.Clear();//移除所有元素
Console.WriteLine(ht["A"]); //此处将不会有任何输出*/
/*
* Hashtable常用的属性有Count、Keys、Values,
* 其中:Count是获取Hashtable中的元素个数,
*       Keys表示获取 Hashtable 中的键的集合,
*       Values 表示 Hashtable 中的所有值的集合。
*/

Console.ReadKey();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: