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

C#中的集合对象总结

2016-05-20 14:10 441 查看
1、哈希表:

<           //哈希表
Hashtable student = new Hashtable();
for (int i = 0; i < 10; i++)
{
string key = "sk" + i.ToString();
string value = "sv" + i.ToString();

if (!student.ContainsKey(key))
{
student.Add(key, value);
}
}

//根据键移除元素
student.Remove("sk3");

foreach (DictionaryEntry element in student)
{
string id = element.Key.ToString();
string name = element.Value.ToString();

Debug.WriteLine("学生的ID:" + id + ",学生的姓名:" + name);
}
<span style="white-space:pre">	</span>   //学生的ID:sk9,学生的姓名:sv9
<span style="white-space:pre">	</span>   //学生的ID:sk8,学生的姓名:sv8
<span style="white-space:pre">	</span>   //学生的ID:sk5,学生的姓名:sv5
<span style="white-space:pre">	</span>   //学生的ID:sk6,学生的姓名:sv6
<span style="white-space:pre">	</span>   //学生的ID:sk7,学生的姓名:sv7
//学生的ID:sk4,学生的姓名:sv4
<span style="white-space:pre">	</span>   //学生的ID:sk1,学生的姓名:sv1
<span style="white-space:pre">	</span>   //学生的ID:sk0,学生的姓名:sv0
<span style="white-space:pre">	</span>   //学生的ID:sk2,学生的姓名:sv2


2、ArrayList:

<span style="white-space:pre">	</span>    ArrayList arrlist = new ArrayList();
arrlist.Add("item0");
arrlist.Add("item1");
arrlist.Add("item2");
arrlist.Add("item3");

foreach (int n in new int[3] { 0, 1, 2 })
{
arrlist.Add(n);
}
//arrlist.Remove(0);//移除值为0的第一个元素
//arrlist.RemoveAt(3);//移除index为3的元素
//arrlist.Insert(1, "apple");//在index为1的位置插入元素

for (int i = 0; i < arrlist.Count; i++)
{
Debug.WriteLine(arrlist[i].ToString());
}


3、HashSet:

<span style="white-space:pre">	</span>    HashSet<string> hSet = new HashSet<string>();
hSet.Add("item0");
hSet.Add("item1");
hSet.Add("item0");
hSet.Add("item0");

foreach (string item in hSet)
{
Debug.WriteLine("foreach=" + item);
}

//foreach=item0
//foreach=item1


4、List:

<span style="white-space:pre">	</span>    //列表
//list.
List<string> list = new List<string>();

list.Add("item0");
list.Add("item1");
list.Add("item2");

for (int i = 0; i < list.Count; i++)
{
Debug.Write("list[" + i + "]=" + list[i] + "\n");
}

list.RemoveAt(0);

Debug.Write("删除掉一个元素\n");

for (int j = 0; j < list.Count; j++)
{
Debug.Write("list[" + j + "]=" + list[j] + "\n");
}

Debug.Write("或者用foreach来遍历\n");

foreach (string item in list)
{
Debug.Write("foreach元素=" + item + "\n");
}

Debug.Write("添加数组\n");

list.AddRange(new string[] { "添加元素1", "添加元素2", "添加元素3" });

list.ForEach(ShowItem);


<span style="white-space:pre">	</span>private static void ShowItem(string item)
{
Debug.Write("添加后遍历的item=" + item + "\n");
}


5、Queue:

<span style="white-space:pre">	</span>    //队列
//先进先出
Queue<string> queue = new Queue<string>();
queue.Enqueue("item0");
queue.Enqueue("item1");
queue.Enqueue("item2");
queue.Enqueue("item3");

foreach (string item in queue)
{
Debug.Write("foreach queue=" + item + "\n");
}

Debug.Write("__________________用while方式_________________\n");

while (queue.Count > 0)
{
Debug.Write("while=" + queue.Dequeue() + "\n");
}


6、stack:

<span style="white-space:pre">	</span>    //栈
//先进后出
Stack<string> stack = new Stack<string>();
stack.Push("item0");
stack.Push("item1");
stack.Push("item2");
stack.Push("item3");

foreach (string item in stack)
{
Debug.Write("stack-foreach:" + item + "\n");
}

Debug.Write("__________________用while方式_________________\n");

while (stack.Count > 0)
{
Debug.Write("stack-while:" + stack.Pop() + "\n");
}


7、LinkedList:

<span style="white-space:pre">	</span>    //链表
LinkedList<string> lList = new LinkedList<string>();
LinkedListNode<string> node = new LinkedListNode<string>("root");
lList.AddFirst(node);

node = lList.AddAfter(node, "item0");
node = lList.AddAfter(node, "item1");
node = lList.AddAfter(node, "item2");
node = lList.AddAfter(node, "item3");

foreach (string item in lList)
{
Debug.WriteLine("foreach-lList:" + item);
}

node = lList.First;
Debug.WriteLine("第一个元素:" + node.Value);
node = lList.Last;
Debug.WriteLine("最后一个元素:" + node.Value);

MyList<string> list = new MyList<string>();

for (int i = 0; i < 10; i++)
{
list.AddHead("item" + i);
}
foreach (string item in list)
{
Debug.WriteLine(item);
}


<span style="white-space:pre">	</span>//item9
<span style="white-space:pre">	</span>//item8
<span style="white-space:pre">	</span>//item7
<span style="white-space:pre">	</span>//item6
<span style="white-space:pre">	</span>//item5
<span style="white-space:pre">	</span>//item4
<span style="white-space:pre">	</span>//item3
<span style="white-space:pre">	</span>//item2
<span style="white-space:pre">	</span>//item1
<span style="white-space:pre">	</span>//item0


MyList<int> list = new MyList<int>();
for (int i = 0; i < 10; i++)
{
list.AddHead(i);
}

foreach (int item in list)
{
Debug.WriteLine(item);
}


<span style="white-space:pre">	</span>//9
<span style="white-space:pre">	</span>//8
<span style="white-space:pre">	</span>//7
<span style="white-space:pre">	</span>//6
<span style="white-space:pre">	</span>//5
<span style="white-space:pre">	</span>//4
<span style="white-space:pre">	</span>//3
<span style="white-space:pre">	</span>//2
<span style="white-space:pre">	</span>//1
<span style="white-space:pre">	</span>//0


8、SortedList:

SortedList<int, string> sList = new SortedList<int, string>();
sList.Add(5, "item0");
sList.Add(25, "item1");
sList.Add(24, "item2");
sList.Add(475, "item3");

foreach (KeyValuePair<int, string> item in sList)
{
//根据key的顺序来
Debug.WriteLine("key=" + item.Key.ToString() + ",value=" + item.Value);
}


9、Dictionary:

Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add(141, "item0");
dict.Add(46, "item1");
dict.Add(541, "item2");
dict.Add(21, "item3");

foreach (KeyValuePair<int, string> item in dict)
{
//按添加的顺序来
Debug.WriteLine("key=" + item.Key.ToString() + ",value=" + item.Value);
}


10、SortedDictionary:

SortedDictionary<int, string> dict = new SortedDictionary<int, string>();
dict.Add(23, "item0");
dict.Add(54, "item1");
dict.Add(132, "item2");
dict.Add(12, "item3");

foreach (KeyValuePair<int, string> item in dict)
{
//按key的顺序来
Debug.WriteLine("key=" + item.Key.ToString() + ",value=" + item.Value);
}


<span style="white-space:pre">	</span>//key=12,value=item3
<span style="white-space:pre">	</span>//key=23,value=item0
<span style="white-space:pre">	</span>//key=54,value=item1
<span style="white-space:pre">	</span>//key=132,value=item2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: