【C#学习】--Arraylist(集合)总结

来源:互联网 发布:一洋淘宝seo管家 编辑:程序博客网 时间:2024/06/04 19:21

      今天来研究一下C#中的集合,那么,集合是怎么来的,又是怎么用的,使用集合有什么好处呢,您往下看就知道了…… ☺

1、集合是什么?

     集合可以看做是一个长度可变的,有很多方法的数组。所以我理解的集合也是一个容器,而且是一个不限类型不限量,什么都可以装的容器。使用集合时要导入命名空间Using system Collections.

2、集合是怎么来的?

     谈到集合当然要聊聊他的前辈--数组,数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,但是,数组也存在一些不足的地方。比如在数组的两个数据间插入数据也是很麻烦的。还有我们在声明数组的时候,必须同时指明数组的长度,数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误。这样如果在声明数组时我们并不清楚数组的长度,就变的很棘手了。针对于数组的这些缺点,C#中最先提供了ArrayList对象来克服这些缺点。

3、集合怎么使用呢?

首先可以使用add()方法添加数据


4、集合常用的方法有哪些?
   先实例化一个集合:
Arraylist al =new Arraylist();
(1)往某个下标的位置插入值,al.Insert()
(2)移除,清空 , al.clear()
(3)判断集合中是否包含某个元素:al.contains()
(4)产生一个整数范围内的随机数,Next(num)
    Next(minNum,maxNum)
    产生一个在minNum到maxNum-1之间的数字,主要是确定范围
(5)求集合中元素的个数,返回int类型:  Int num=al.count;
(6)找某一个元素对应的索引,Int number=al.indexof();//
(7)移除索引对应的值,al.remove(1);//
(8)从指定索引处开始移除,如果超出索引报异常,eg: al.Removerange(3,13);
    表示的是从指定的第三处开始直到索引为13的地方,将这部分移除。这个方法也是含有重载,可以多点点试试。

5、听了这么多理论,下面举个例子实践一下吧:

 要求生成10个不重复的随机数,然后求和取平均显示出来,代码如下:

   //随机的往集合里添加数据,不能重复,再求和,取平均值            ArrayList arr = new ArrayList();    // 先实例化一个集合arr            Random r = new Random();                         int sum=0;            while (arr.Count!=10)      // count属性可以获得集合长度,此处循环10次,产生10个不重复随机数            {                int num = r.Next(1, 100);           // 生成随机数在1-100之间                if (!arr.Contains(num))           // contains()方法判断是否包含某元素                {                    arr.Add(num);                 //add()方法往集合中添加元素                }             }// end while            for (int i = 0; i < arr.Count; i++)     // 将10个数输出,并计算                  {                Console.WriteLine(arr[i]);    //依次输出10个随机数                if (arr[i] is int)                           {                    sum += (int)arr[i];              //求和                }            }            Console.WriteLine("随机数的总和为{0},平均值为{1}",sum,sum/(arr.Count));            Console.ReadKey();

下面是显示实现的结果:  ☺☺ 完美~~


【总结】

     接触一个新东西的时候善于与过去的事物找联系,新事物一定不是凭空产生的,问问自己为什么会有这个新事物,他的出现有什么好处,这样知识网才更强有力。

0 0