泛集合与非泛集合

using System;
using System.Collections;
using System.Collections.Generic;

namespace ConsoleApp17
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 非泛型集合,长度可变。可以存多个类型的元素
            //1.创建ArrayList的集合
            ArrayList arrayList = new ArrayList();

            //添加元素
            arrayList.Add(1323);//第一种方式,添加一个元素
            Console.WriteLine(arrayList[0]);

            //2.添加元素
            arrayList.AddRange(new ArrayList() {666,"我是字符串" });//第二种方法,添加多个元素
            Console.WriteLine(arrayList[1]);
            Console.WriteLine(arrayList[2]);

            arrayList.Insert(3,"哈喽");//第三种方式,通过索引添加一个元素
            Console.WriteLine(arrayList[3]);

            //4.调用遍历的方法
            ForArry(arrayList);

            //5.删除元素
            arrayList.Remove(1323);//第一种方法,删除指定值的元素
            ForArry(arrayList);

            arrayList.Remove(2);//第二种方法,通过索引删除元素
            ForArry(arrayList);

            arrayList.Remove(1323);//第三种方法,删除清空整个集合
            ForArry(arrayList);

            //6.修改元素
            ArrayList arrayList1 = new ArrayList() {"张三","李四","菠萝吹雪" };
            Console.WriteLine("\n这是修改之前的集合");
            ForArry(arrayList1);

            arrayList1[0] = 1;
            arrayList1[1] = 2;
            arrayList1[2] = 3;
            Console.WriteLine("\n这是修改之后的集合");
            ForArry(arrayList1);


            //7.查找元素
            ArrayList arrayList2 = new ArrayList() { "张三", "李四", "王五", "张三", "嘿七" };
            int index = arrayList2.IndexOf("李四");
            Console.WriteLine("\n这是IndexOf的查找结果");

            arrayList2.Insert(index, "莉莉");//吧查找到的李四换个名字
            ForArry(arrayList2);

            int index1 = arrayList2.IndexOf("张三");//返回第一个匹配项的索引
            Console.WriteLine("\n这是IndexOf的查找张三结果" + index1);

            int index2 = arrayList2.LastIndexOf("张三");//返回最后一个匹配项的索引
            Console.WriteLine("\n这是IndexOf的查找张三结果" + index2);

            //判断是否有值
            bool reuslt = arrayList2.Contains("张三");
            if (reuslt==true)
            {
                Console.WriteLine("\n集合里面有这个人");
            }
            else
            {
                Console.WriteLine("\n集合里面没有这个人");

            }

            //8.排序
            ArrayList arrayList3 = new ArrayList() { 1, 3, 2, 9, 7, 6 };
            arrayList3.Sort();//吧集合的数据从小到大排序
            ForArry(arrayList3);

            //9.新的遍历方式
            Console.WriteLine("\n这是ArrayList新的遍历");
            int i = 0;
            foreach(object item in arrayList2)
            {
                i++;
                Console.WriteLine("这是第" + i + "个元素" + item);
            }

            #endregion

            #region 泛型集合,存储固定数据类型的元素
            //List<T>
            //1.创建List集合
            List<string> list = new List<string>();

            //2.添加元素
            list.Add("张三");//添加第一个元素
            list.AddRange(new List<string>() { "李四","王五"});//添加一个集合
            list.Insert(3, "赵六");//根据索引添加一个元素
            //调用遍历方法
            ForList(list);

            //3.删除元素
            list.Remove("赵六");//删除指定数据元素
            ForList(list);
            list.RemoveAt(0);//删除指定索引位置的数据元素
            ForList(list);
            list.Clear();//删除全部
            ForList(list);

            //4.修改元素
            List<string> list1 = new List<string>() {"大哥一","大哥二","大哥三" };
            Console.WriteLine("\n这是List修改前的集合");
            ForList(list1);

            list1[0] = "小弟1";//从索引位置进行修改
            list1[1] = "小弟2";
            ForList(list1);


            //Dictionary<TKey,TValue>集合
            //创建
            Dictionary<string, string> dic = new Dictionary<string, string>();
            //添加元素
            dic.Add("姓名", "肛门崔雪");
            dic.Add("姓别", "女");
            dic.Add("id", "530041");
            //调用方法
            ForDic(dic);
            //删除
            dic.Remove("性别");
            dic.Clear();//删除全部
            //修改
            Dictionary<string, string> dic1 = new Dictionary<string, string>();
            dic1.Add("姓名", "肛门崔雪");
            dic1.Add("姓别", "女");
            dic1.Add("id", "530041");
            dic1["姓名"] = "name";
            dic1["姓别"] = "未知";
            ForDic(dic1);

            #endregion
            Console.ReadKey();
        }
        //创建一个遍历方法
        static void ForArry(ArrayList arr)
        {
            Console.WriteLine("\n这是ArrayList的遍历");//\n是简写换行符
            for ( int i = 0;i< arr.Count; i++)
            {
                Console.WriteLine("这是集合的第"+(i+1)+"个元素"+arr[i]);
            }
            try
            {
                if (arr.Count == 0)


                {
                    throw new Exception("这个集合是空的");
                }
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        //list遍历方法
        static void ForList(List<string> list)
        {
            Console.WriteLine("\n这是List的遍历");
            int i = 0;
            foreach(string item in list)
            {
                i++;
                Console.WriteLine("这是List集合的第" + i + "个元素:" + item);
            }
        }
        //Dictionary<TKey,TValue>遍历方法"
        static void ForDic(Dictionary<string,string>dic)
        {
            Console.WriteLine("\n这是Dictionary<TKey,TValue>遍历");
            foreach(string key in dic.Keys)
            {
                Console.WriteLine(key + ":" + dic[key]);
            }
        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值