集合的使用

## 是什么?

集合对于我们来说相对陌生,因为我们接触的语言并不多,那么我们为什么要引入集合呢?因为集合有以下几种优点:

1、可以放各种类型的数据

2、可以方便灵活的处理数据

3、可以让我们的代码活起来,减少代码量**

 

## 怎么用?

**步骤一:添加命名空间——using system.collections;**

**步骤二:声明**

语法格式:ArrayList 名字=new ArrayList();

举例:

     ArrayList al = new ArrayList();

 

**步骤三:各种方法的调用**

任何一个工具都有它自身的方法,集合也有它本身的好多方法,有了这些方法才能让集合帮助我们完成各种功能

 

方法一:添加——Add

举例如下:

  
         

   ArrayList al = new ArrayList();

            for(int i=1;i<10;i+=2)

            {

                al.Add(i);

            }

            for(int i=0;i<al.Count;i++)

            {

                Console.WriteLine(al[i]);

            }

以上这段代码的意思是往al集合中添加奇数

 

下面这段代码可以实现同样的功能

       

     //al.Add(1);

            //al.Add(3);

            //al.Add(5);

            //al.Add(7);

            //al.Add(9);

            //for(int i=0;i<al.Count;i++)

            //{

            //    Console.WriteLine(al[i]);

   

            //}

            for (int i = 1; i <= 10; i += 2)

            {

                al.Insert(i, i + 1);//往数组中插入元素

   

            }

这两段代码都实现了输出结果是1 3 5 7 9这个功能,那么它俩有啥区别呢?如果是你,你会选择哪种编码方式呢?

 

**添加类:

代码如下:**

    else if (arraylist[i] is Person)

                    {

                        ((Person)arraylist[i]).Say();//强制转换集合为person类,这样可以调用类中的方法

   

                    }

                    else

                    {

                        Console.WriteLine(arraylist[i]);

                    }

            

辨析addrange和add

Addrange把数组看成是一个一个的元素,是单个的个体,而Add是把数组看成是一个集体,看成是一个单元

举例:


              

                al.Add(1);

                al.Add("老牛");

                int[] nums = new int[] { 1, 2, 3, 4, 5, 6 };

                al.AddRange(nums);//将这个数组中所有的元素都看成是单个的每个元素

                al.Add(nums);//将这个数组看成一个元素

 

**方法二:清空——Clear**

这个方法比较简单,直接 al.clear,就可以清空集合中所有的元素了

 

**方法三:添加——Contains**

al.Contains(1);//判断这个集合中是否包含这个元素

 

**方法四:    查找索引——indexof**

 int number = arraylist.IndexOf(2);//找某一个元素对应的索引

 

**方法五:插入——insertRange**

   int[] nums = { 1, 2, 3 };

  arraylist.InsertRange(4, nums);//往某一个索引位置插入一个数组

 

**方法六:移除——remove**

1、移除某个元素用remove

注意:只能移除一个元素,默认是从前往后排的

eg:arraylist.Remove(1);//移除某个元素,只能移除一个

2、移除索引对应的值用RemoveAt(索引)

eg:arraylist.RemoveAt(1);//移除索引对应的值

3、从指定索引处开始移除,移除多少个,如果超出索引报异常,用RemoveRange

eg:al.RemoveRange(3, 4);从索引为 3的地方开始,移除四个

方法七:反转和排序

反转用reverse();默认为从大到小

排序用sort();默认为从小到大

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值