学习ASP.Net之Collections下的容器类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Collections;
namespace Generic_container
{
class Program
{
static void Main(string[] args)
{
use_Dictionary();
use_SortedDictionary();
use_HashSet();
useList();
use_SortList();
useLinkedList();
Console.Read();
}
/// <summary>
/// 字典的使用
/// </summary>
public static void use_Dictionary()
{
/*
* Dictionary<> KeyValuePair
*/
Console.WriteLine("Dictionary<> KeyValuePair");
//创建字典
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("K1", 123);
dict["k2"] = 456;
dict.Add("K3", 789);
string str = "";
//第一种显示方式
foreach (KeyValuePair<string, int> k in dict)
{
str = string.Format("{0}-{1}", k.Key, k.Value);
Console.WriteLine(str);
}
//第二种显示方式
foreach (var item in dict)
{
Console.WriteLine(item);
}
Console.WriteLine("SortedDictionary<string, int> ");
}
/// <summary>
/// SortedDictionary的使用
/// </summary>
public static void use_SortedDictionary()
{
SortedDictionary<string, int> sortdict = new SortedDictionary<string, int>();
sortdict.Add("SK3", 333);
sortdict.Add("SK1", 222);
sortdict["Sk2"] = 111;
SortedDictionary<string, int>.KeyCollection ks = sortdict.Keys;
SortedDictionary<string, int>.ValueCollection vs = sortdict.Values;
foreach (var item in sortdict)
{
Console.WriteLine(item);
}
foreach (var item in ks)
{
Console.WriteLine(item);
}
foreach (var item in vs)
{
Console.WriteLine(item);
}
Console.WriteLine("SortedList");
}
/// <summary>
/// SortedList使用
/// </summary>
public static void use_SortList()
{
Console.WriteLine("SortedList<string, int> sortList");
SortedList<string, int> sortList = new SortedList<string, int>();
sortList.Add("K3",333);
sortList["K1"] = 111;
sortList.Add("K2",222);
//第二种显示方式
foreach (var item in sortList)
{
Console.WriteLine(item);
}
}
/// <summary>
/// 哈希表的使用
/// </summary>
public static void use_HashSet()
{
Console.WriteLine("HashSet<string> ---和---SortedSet<string> ");
HashSet<string> hs=new HashSet<string>();
hs.Add("ccc");
hs.Add("bbb");
hs.Add("aaa");
foreach (var item in hs)
{
Console.WriteLine(item);
}
SortedSet<string> ss = new SortedSet<string>();
ss.Add("ccc");
ss.Add("bbb");
ss.Add("aaa");
foreach (var item in ss)
{
Console.WriteLine(item);
}
}
public static void useList()
{
Console.WriteLine("List<int> ");
List<int> list = new List<int>();
list.Add(11);
list.Add(22);
list.Insert(0,33);
foreach (var item in list)
{
Console.WriteLine(item);
}
list.Sort();
foreach (var item in list)
{
Console.WriteLine(item);
}
}
/// <summary>
/// 链表的使用
/// </summary>
public static void useLinkedList()
{
LinkedList<string> list = new LinkedList<string>();
list.AddFirst("aaa");
list.AddLast("bbb");
list.AddFirst("ccc");
list.AddAfter(list.First,"dddd");
list.AddBefore(list.Last,"eee");
foreach (var item in list)
{
Console.WriteLine(item);
}
LinkedListNode<string> node = list.First;
string s2 = node.Value.ToString();
Console.WriteLine("头结点的值"+s2);
node = node.Next;
string s3 = node.Value.ToString();
Console.WriteLine("头结点的下一个结点的值" + s3);
list.Remove("eee");
list.RemoveFirst();
Console.WriteLine("删除部分结点,用链表输出所有的结点值");
node = list.First;
while (node != null)
{
string s4 = node.Value.ToString();
Console.WriteLine(s4);
node = node.Next;
}
}
}
}