C#基础-058 List集合、HashSet集合、HashTable集合、StringBuilder与String运行效率比较

来源:互联网 发布:fps软件 编辑:程序博客网 时间:2024/06/05 14:22
 static void Main(string[] args)        {            ArrayList list = new ArrayList();            //获取集合元素的数量            Console.WriteLine(list.Count);            //向集合中添加数据            list.Add(2);            list.Add(3);            list.Add(4);            list.Add(5);            list.Add(6);            list.Add(7);            Console.WriteLine(list.Capacity);            list.Add(new Student());            list.AddRange(list);            bool ret = list.Contains(100);            Console.WriteLine(ret);            ArrayList arraylist = list.GetRange(1, 3);// 3 4 5            //foreach  是对集合做修改  遍历操作  禁止对foreach做删除操作            foreach (var item in arraylist)            {                if ((int)item == 4)                {                    list.Remove(item);                }            }            int index = list.IndexOf(4);            Console.WriteLine(index);            list.Insert(1,100);            list.RemoveAt(1);            list.Reverse();            list.Sort();            Console.WriteLine("----------");            foreach (var item in list)            {                Console.WriteLine(item);            }        }
static void Main(string[] args)        {            HashSet<int> hs = new HashSet<int>();            //hs.Add(1);            //Console.WriteLine(hs.Count);            //hs.Add(2);            //Console.WriteLine(hs.Count);            //hs.Add(1);            //Console.WriteLine(hs.Count);            Random random = new Random();//自动剔除相同的数据            while (hs.Count < 100)            {                hs.Add(random.Next(1, 101));            }            foreach (var item in hs)            {                Console.WriteLine(item);            }        }
 static void Main(string[] args)        {            //在 Hashtable 这样的集合中 存储的顺序是乱序的             Hashtable ht = new Hashtable();            ht.Add("北京","重度雾霾");            ht.Add("上海", "梅雨");            ht.Add("郑州","霾");            Console.WriteLine(ht["北京"]);            ht["石家庄"] = "123";            bool ret = ht.Contains("石家庄");            Console.WriteLine(ret);            ht.Remove("郑州");            ret = ht.Contains("郑州");            Console.WriteLine(ret);            foreach (var item in ht.Keys)            {                Console.WriteLine(item +"  "+ht[item]);            }        }
 static void Main(string[] args)        {            StringBuilder sb = new StringBuilder();            sb.Append("12");            sb.Append(12);            sb.Append(new Student());            sb.AppendFormat("{0}***{1}***{2}",12,13,45);            sb.Insert(0, "YY");            sb.Remove(0,2);            sb.Replace("1991","1998");            sb.Replace("19","2000",4,4);            Console.WriteLine(sb.Capacity);            Console.WriteLine(sb.Append(sb));            Console.WriteLine(sb);        }

StringBuilder与String的效率比较:

 static void Main(string[] args)        {            Stopwatch sw = new Stopwatch();            string ret = string.Empty;            StringBuilder sb = new StringBuilder();            sw.Start();            for (int i = 0; i < 10000000; i++)            {               // ret += i;                sb.Append(i);            }            sw.Stop();            Console.WriteLine("总时间是:{0}",sw.Elapsed);          // Console.WriteLine(ret);        }
阅读全文
0 0