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

 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值